为什么不git commit -a添加新文件?

时间:2010-05-03 16:00:21

标签: git dvcs commit

我对git有点新鲜,我不明白为什么git commit -a只更改和删除文件而不是新文件。

任何人都可以解释为什么会这样,为什么没有其他提交标志来启用添加文件和提交in one command

BTW,hg commit -A将新文件和已删除文件添加到提交

5 个答案:

答案 0 :(得分:18)

Git是关于跟踪更改。它依赖于你告诉它哪些文件足够重要跟踪。您可以像这样实现所需的效果:

git add . ;git commit -a

确保您的.gitignore文件已更新。

答案 1 :(得分:11)

我建议使用其他解决方案:使用git commit --interactive -m "your commit message"会显示此菜单

*** Commands ***
  1: [s]tatus     2: [u]pdate     3: [r]evert     4: [a]dd untracked
  5: [p]atch      6: [d]iff   7: [q]uit   8: [h]elp

允许您使用简单的按键检查​​状态,添加未跟踪的文件等。

答案 2 :(得分:7)

我怀疑答案很简单(但是我怀疑我会说它会受欢迎!) - 除了开发人员实施它之外它是如何失败之外,可能没有故意“为什么”这样做。 Git项目的优先级从未使用过易用性或用户友好性。

答案 3 :(得分:6)

Kelly是正确的,但我认为另一个因素是很多人都期望这种行为,因为CVS,Subversion和其他大多数工具都是这样做的。

如果Git提交了新文件,您可能会注意到很久以前就已经提交了.o个文件,更糟糕的是它们可能会损害构建。

答案 4 :(得分:0)

为了将来你可以坚持使用Ian Clelland

这个解决方案
git add -A && git commit -m "Your Message"

因为评论不会太明显 https://stackoverflow.com/a/2419270/5836034