Git不提交分阶段的更改

时间:2019-02-19 15:57:17

标签: git

删除/修改文件后,我通过执行git add -A来暂存它们,此后我也尝试了git add -u。当我提交更改时,我注意到git实际上并没有提交任何更改。 Git状态仍然显示文件已暂存,并且执行git push告诉我everything is up to date

这可能是什么原因? Git状态清楚地显示了删除和修改。

使用的确切命令:

git add -A

git status-显示所有更改均按预期进行

git commit -m 'message here'

什么都没做,所以我尝试了git add -u

再次使用相同的命令提交,仍然没有。这是暂存文件后git status的输出:

enter image description here

3 个答案:

答案 0 :(得分:1)

您是否尝试过使用文件或目录的特定名称?我一直使用git add .git add ../something.txt,但从未遇到过问题。随着分支的变化,我在git上只做些有趣的事情。

如果仍然无法使用,我会尝试制作一个新的本地存储库。

希望这会有所帮助。

答案 1 :(得分:0)

是的,这是使用-u参数的预期行为:

  

更新索引恰好已存在条目的地方。这会删除和修改索引条目以匹配工作树,但不会添加任何新文件。

(重点是我的)

如果您还没有已经添加这些文件,则它们不会与-u一起暂存。这是一种告诉git“自上次添加以来,我再次修改了这些文件 ”。

为什么首先使用参数?您尝试达到/避免了什么?

答案 2 :(得分:0)

  

删除/修改文件后,我通过执行git add -A进行了登台,还尝试了git add -u

如果您使用的是较旧的git版本(> 2.0),则只需使用git add -A && git add -u。在Git> 2.0中,git的默认添加id git add -A

https://github.com/git/git/blob/master/Documentation/RelNotes/2.0.0.txt

  

git add -ugit add -A在子目录中运行时   没有指定要在命令行上添加的路径,它们   对整个树进行操作,以与git commit -a保持一致,并且   其他命令(这些命令仅用于当前命令   子目录)。

     

如果要限制对当前目录的操作,请说git add -u .git add -A .

     
     

从git版本2.0.0开始:

     

git add <path>现在与git add -A <path>相同

因此只需使用此:

git add .

  

当我提交更改时,我注意到git实际上并没有提交任何更改。

好像您没有进行任何更改。

您还提到:... .gitignore中也不存在。
运行此命令以查看文件是否被忽略

git check-ignore * -v 
相关问题