为了有效地(并且按照预期)使用 git,我进行了小的原子提交,而我确实有更长的会话,我不仅改变了一件事。因此,我大量使用git add -p
. 但是,这不适用于全新的文件,因为我以后往往会忘记它们。
我想要做的是,告诉有git
一个新文件,我希望它跟踪,但不暂存它:
示例:运行git status
产生:
# On branch my-current-branch
# Your branch is ahead of 'origin/my-current-branch' by 2 commits.
#
# Changes to be committed:
#
<<STAGED SECTION>> // A
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
<<UNSTAGED-YET-KNOWN SECTION>> // B
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
<<UNKNOWN SECTION>> // C
如果我foo
在 C 部分有一个文件,我说git add foo
它将转到 A 部分。如果我说git add -N foo
它将同时发送到 A 和 B。但是,这意味着它将包含在下一次提交中,至少因为有一个新文件这一事实。
我希望它专门放在 B 部分,这样我以后可以用git add -p
or git add foo
(或其他)将它添加到 A 中。
编辑
关于add -N
解决方案,这不起作用,因为如果我在说了之后尝试提交add -N
并且没有正确添加它,git会抱怨,因为它不知道如何处理空文件:
foo: not added yet
error: Error building trees