我的主要问题是,总是git commit -am
代替git add
是否有意义。然后是git commit -m
?
我知道-am表示它将添加修改后的TRACKED文件的所有更改。所以在我没有添加任何新文件的情况下,只运行git commit -am而不是git add是有意义的,但是它被认为是最好的做法:
git add
。
git commit -am "message"
呢?
甚至改为:
git add -A
git commit -am "message"
答案 0 :(得分:6)
最佳做法是:
git add。
git commit -am“message”
呢?
不,没有这样的“最佳实践”。只要您不想包含任何未跟踪的文件,git add
+ git commit -m
和git commit -am
将完全相同。
有两种情况需要使用git add
:
第二点特别是许多人建议不要总是使用commit -a
的原因:
在处理代码一段时间之后,您的工作副本中经常会有几种不同类型的更改(您正在处理的错误修复,一些不相关的重命名,一些临时更改用于调试......)。 commit -a
有可能在一次提交中投入太多 - 在这些情况下,选择性使用git add
会更好。
但如果您确定要提交更改的所有内容,请继续使用git commit -a
。
答案 1 :(得分:3)
我通过-am
意外地提交了足够的代码,这些天我通常会避免使用它。 git add -u
将与git commit -a
进行相同的更改,然后您可以执行git diff --cached
以确保您要提交它们。我的一些同事甚至总是git add -p
,所以他们必须在甚至上演之前看看每一个差异。
如果我知道我所做的更改很小,那么我仍会使用git commit -am
以方便使用,但可能值得摆脱这是默认习惯。
答案 2 :(得分:3)
如果你保持.gitignore
当前状态,那么git commit -am
是完全适合做事的方式。它是git add -uA <nopattern> ; git commit -m "message"
的快捷方式。
这是git,最佳实践是主观的。我更喜欢手动添加文件,这样我就有机会随时查看更改,但您可能不需要。