当我尝试在新文件(未跟踪文件)上git add -p someNewFile.txt时,git只会输出No changes. 停下来 我不得不告诉git,我打算先跟踪新文件。
git add -N someNewFile.txt git add -p
然而,由于文件没有被跟踪,它将显示为一个不可分割的巨人(因为它全是新的!)。 所以,那么我需要将大块编辑成更小的位。 如果你不熟悉,请检查这个参考开始。
更新 – 大块编辑信息 我想更新,以防上述参考消失。 由于新文件未被跟踪, git add -p会将文件中的每一行显示为一个大块中的新行。 然后它会问你想用这个大块做什么,给你下面的提示:
Stage this hunk [y,n,q,a,d,/,e,?]?
假设你不想承诺整个文件(因此,整个文件,因为我不知道为什么你会想在这种情况下使用git add -p ?),你将要指定选项e告诉git你想编辑大块。
一旦你告诉git你想编辑大块,它应该把你放到你select的编辑器中,这样你就可以进行更改。 所有的行应该以+为前缀,而git在文件末尾有一些解释性注释(前缀为# )。 只需删除文件初始提交时不需要的任何行。 然后保存并退出编辑器。
Git对git的大块选项的解释:
y - stage this hunk n - do not stage this hunk q - quit; do not stage this hunk or any of the remaining ones a - stage this hunk and all later hunks in the file d - do not stage this hunk or any of the later hunks in the file g - select a hunk to go to / - search for a hunk matching the given regex j - leave this hunk undecided, see next undecided hunk J - leave this hunk undecided, see next hunk k - leave this hunk undecided, see previous undecided hunk K - leave this hunk undecided, see previous hunk s - split the current hunk into smaller hunks e - manually edit the current hunk ? - print help