删除/修改文件后,我通过执行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的输出:
答案 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 -u
和git 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