Git提交没有登台

时间:2017-09-14 14:34:54

标签: git git-commit

我注意到git允许直接提交跟踪文件(在本地修改)而不使用分段,例如:

$ git status -s .
 M   myfile.txt
$ git commit myfile.txt -m"1 way"

使用#34经典"是否更好?两步? :

$ git add myfile.txt
$ git commit myfile.txt -m"2 way"

2 个答案:

答案 0 :(得分:4)

  

使用#34经典"是否更好?两步?

git commit的文档提到了不少于 5 方法告诉Git您希望在下一次提交中包含哪些内容:

  

可以通过多种方式指定要添加的内容:

     
      
  1. 使用git add逐步增加"添加"在使用commit命令之前更改索引(注意:即使修改过的文件也必须"添加");
  2.   
  3. 在使用commit命令之前,再次使用git rm从工作树和索引中删除文件;
  4.   
  5. 通过将文件列为commit命令的参数(没有--interactive--patch开关),在这种情况下,提交将忽略索引中暂存的更改,而是记录列出的当前内容文件(Git必须已知);
  6.   
  7. 使用带有commit命令的-a开关自动"添加"从所有已知文件(即已在索引中列出的所有文件)中更改并自动" rm"索引中已从工作树中删除的文件,然后执行实际提交;
  8.   
  9. 通过使用带有commit命令的--interactive--patch开关,在完成操作之前逐个确定哪些文件或数据库应该是提交的一部分,以及索引中的内容。请参阅"互动模式" git-add部分,了解如何操作这些模式。
  10.   

有很多选择不是因为它们中的一些是好的"而其他人则更好"。 Git提供了很多选项,让选择你喜欢的那个或者在特定情况下最适合的那个。

例如,如果您发现有一个修改过的文件应该是之前提交的一部分(但您忘了提交它),并且索引当前包含为下次提交准备的文件,请使用问题中的第一个命令(上面列表中的选项#3)允许您仅提交该文件而不更改索引。这样,您错过的文件会跳过该行,并在上次提交后立即提交,并且不会干扰您正在准备的下一个提交。

答案 1 :(得分:1)

尝试git commit -a -m [message]

<强> -a

  

告诉命令自动暂存已修改和删除的文件,但是没有告诉Git的新文件不会受到影响。

不适用于新文件,您仍需要明确添加它们。

只需一步即可完成提交。我觉得这很方便,因为在使用status时可以看到所有已更改的状态,我们通常会进行小的增量提交。