是git add。; git commit -a等效于git add -A。; git commit -a?

时间:2014-12-19 22:41:57

标签: git github version-control

我正在使用Git版本1.9.1,并且最近在我的存储库上提交时收到了此通知:

  

警告:您运行的'git add'既没有'-A( - all)'也没有   '--ignore-removal',其行为将在Git 2.0中改变   尊重你删除的路径。

我通常使用以下两个命令提交更改:

git add .
git commit -a

我现在想知道是否应该切换到使用--ignore-removal或-A。我阅读了有关此警告消息的其他一些StackOverflow答案,但我仍然不完全清楚我使用哪个选项会有什么不同,因为我立即使用git commit -a跟踪它,它会分段文件无论如何要移除。

我的目标是让git自动识别对目录的所有更改 - 添加,修改和删除,实际上我在一个命令中设置了一个别名来执行此操作。我目前倾向于改变我的别名:

git add -A .; git commit -a

这会实现我的目标吗?我的初步理解是,--ignore-removal仅在我删除某些文件但尚未准备将这些删除提交给git的情况下才有意义 - 这是正确的吗?


考虑到这一点,我意识到如果我在add命令中使用-A,我可能不需要在commit命令上使用-a选项,那么这个怎么样?

git add -A .; git commit

1 个答案:

答案 0 :(得分:1)

  

我的目标是让git自动识别对a的所有更改   目录 - 添加,修改和删除

先生,这也是我的目标。

我完成了这个
git add -A
git commit

git add -A foo.bar
git commit

第一个表单将按照您的说法执行,它将添加任何和所有更改。第二 表单只会添加对指定文件的更改。我想补充commit -a 我的方式也没有必要,因为一切都已经上演了 与git add。我已经使用这种方法超过一年了,它的确有效 对我好。

Example