我注意到,git的允许提交一个跟踪文件(在本地修改)的情况下直接使用分段,例如:Git的承诺,而分期
$ git status -s .
M myfile.txt
$ git commit myfile.txt -m"1 way"
是它更好地使用,取而代之的是,“经典”两脚步 ? :
$ git add myfile.txt
$ git commit myfile.txt -m"2 way"
我注意到,git的允许提交一个跟踪文件(在本地修改)的情况下直接使用分段,例如:Git的承诺,而分期
$ git status -s .
M myfile.txt
$ git commit myfile.txt -m"1 way"
是它更好地使用,取而代之的是,“经典”两脚步 ? :
$ git add myfile.txt
$ git commit myfile.txt -m"2 way"
尝试你还没有告诉Git的约不受影响git commit -a -m [message]
-a
告诉命令自动阶段已修改和删除的文件,但新文件。
不适用于新文件,您仍然需要明确地添加它们。
这只是阶段,接着是在一个单一的步骤提交。我觉得这很方便,因为使用status
时可以看到所有更改的状态,我们通常会进行小的增量提交。
是它更好地使用,取而代之的是,“经典”两个步骤?
的git commit
说明文档中提到不低于5种方式通知Git你想要什么,在未来,包括承诺:
添加可以通过多种方式来指定的内容:
- 通过使用
git add
在使用commit命令之前递增地“添加”对索引的更改(注意:即使修改后的文件也必须“添加”);- 使用
git rm
从工作树和索引中删除文件,再次使用commit命令之前;- 将文件列出为提交命令的参数(没有
--interactive
或--patch
开关),在这种情况下,提交将忽略在索引中执行的更改,而是记录列出文件的当前内容(必须已知GIT);- 通过使用
-a
开关与commit命令自动“添加”从所有已知的文件(即在索引已经列出即所有文件)的变化,并在索引自动“RM”文件已经从被除去的工作树,然后执行实际提交;- 通过使用
--interactive
或--patch
开关,使用commit命令可以在完成操作之前,逐个决定除索引中的内容之外哪些文件或块应该是提交的一部分。请参阅git-add
的“交互模式”部分,了解如何操作这些模式。
有这么多的选择,不是因为他们中的一些是“好”,而另一些“更好”。 ,Git提供了这么多的选择,让你挑你喜欢的一个,或者最适合在特定情况下的一个。
例如,如果您发现修改后的文件应该是之前提交的一部分(但您忘记提交它),并且索引当前包含为下一次提交准备的文件,请使用第一个命令问题(上面列表中的选项#3)允许您仅提交该文件而不更改索引。通过这种方式,您错过的文件将跳过该行,并在之前的提交后立即落实到它所属的位置,而不会干扰您正在准备的下一个提交。
请注意,'git commit'有两种口味:'git commit - 只有'和'git commit --include '。 Git真正做的是使用*临时*索引/分段区域; '--only'表示“从HEAD'设置临时文件,然后将列出的文件放入其中”,“--include”表示“从当前索引设置临时文件,然后将列出的文件放入其中”。 –
torek