A diff of one file may contain several hunks, each starting with an @@ line. git add -p lets you stage them one by one.