We know that, in git, when we stage a file with
git add readme.txt
“readme.txt”文件没有提交,直到我们使用
git commit readme.txt -m "..."
但我无法想象这种情况有什么用处。在什么情况下我们需要暂存一个文件而不提交呢?
We know that, in git, when we stage a file with
git add readme.txt
“readme.txt”文件没有提交,直到我们使用
git commit readme.txt -m "..."
但我无法想象这种情况有什么用处。在什么情况下我们需要暂存一个文件而不提交呢?
如果您希望稍后提交,这将非常有用。
例如,您可以在今天暂存它,并在明天继续项目工作(您认为修改后的文件还可以,但仍需修复其他文件并添加单元测试)。暂存文件会给您一个“保存点”。然后,您可以执行诸如与暂存版本进行差异比较之类的操作。
通常的工作流程是立即暂存新文件(即使它们仍为空),以便它们显示为“已修改”,而不是“未跟踪”,并且您不会忘记在提交时将它们包括在内。许多IDE在创建新源代码文件时会自动执行此操作。
git commit readme.txt -m "..."
实际上,您可能不会说“commit readme.txt”。您可以在不列出任何文件的情况下提交,它将提交之前暂存的所有内容。
git add
。但是我喜欢逐个检查变化(添加它们),这个过程有时需要时间。而且,有时我只提交文件的一部分(我认为没有 git add
将会很困难)。 - Thilo
readme.txt
,通常不需要在git commit
命令中提及它或任何其他文件。原因是如果你在运行git commit
时列出了某些文件,它会默认使用git commit --only
,即忽略你已经暂存的文件。 - torek--only
vs--include
以及我最近回答的一个长答案),所以不使用它肯定会有所改变。另请参见http://stackoverflow.com/a/36242914/1256452。 - torek--patch
)。我的工作流程是浏览所有更改并首先添加我要提交的那些部分。像这样逐步构建提交使得我的提交历史比逐个提交文件清晰得多。请注意,在你使用git add
之后,你不需要在git commit
中命名文件。 - Peter