我对git有点新鲜,我不明白为什么git commit -a
只更改和删除文件而不是新文件。
任何人都可以解释为什么会这样,为什么没有其他提交标志来启用添加文件和提交in one command?
BTW,hg commit -A将新文件和已删除文件添加到提交
答案 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"