对于已经git跟踪的文件,我们可以提交更改而不在GIT中添加更改吗?

问题描述

我的本​​地存储库中有GIT跟踪的文件。现在,如果我对该文件进行更改,则标准过程如下。

例如对于文件demo.txt,

git add demo.txt
git commit -m "changes done" demo.txt

但是, 我能够直接提交这些更改而无需暂存它们。 例如用于GIt跟踪文件demo.txt

git commit -m "changes done" demo.txt 

这将提交更改。

对此我们有什么解释

解决方法

对此我们有什么解释

是的,我们愿意。它称为documentation。让我们一起阅读吧?

可以通过多种方式指定要提交的内容: ...

  • 通过列出文件作为commit命令的参数...,在这种情况下,提交将忽略索引中进行的更改,而是记录列出文件的当前内容(Git必须已经知道)

这正是您在做什么。您是在commit命令中明确地说出文件名。这会导致git跳过整个add阶段,并假装demo.txt是唯一添加到索引中的内容,并由此构成提交。


这实际上是一个非常酷的小捷径,因为它不会否​​定索引。索引仍然坐在那里,可能充满其他东西,等待您从中形成 next 提交(如果您愿意)。想象一下这种情况:

  1. 您编辑并添加,编辑并添加,编辑并添加...

  2. 您拍了一下额头。哦,该死!我已经建立了索引,但是我真正想要做的是在这里提交这两个文件,而不是索引中的所有内容!

  3. 现在,您可能在想,我想我必须以某种方式使用stash。但不是!您使用了快捷方式,看得出来,您已经做到了。并且索引保持其完整性,您可以继续工作。