如果我理解正确,当使用git时将新文件添加到目录中时,我必须调用多个命令以确保文件已提交:
git add <directory name>
git commit -m 'commit comment'
这听起来不对,因为我知道我(和许多其他人)会忘记调用git add <directory name>
,然后最终得到一个缺少所有新文件的项目。似乎我应该能够在一个命令中提交整个目录,包括任何和所有新文件,而无需在先前的命令中指定将所有新文件添加到提交中。我该怎么做?
答案 0 :(得分:6)
git commit -a
将提交git所知的所有文件:
-a, --all Tell the command to automatically stage files that have been modified and deleted, but new files you have not told git about are not affected.
如果您想确保提交想要的所有内容,可以在git-status
之前使用git-commit
,以查看暂停提交的文件。
git
使用两阶段流程将working directory
更改为repository
。像git commit -a
这样的全能方法将工作,但它会导致凌乱的非原子提交。我会提倡较小的,专注的提交,而不是使用像你正在寻找的全能方法。
这听起来不对,因为我知道我(以及其他许多人)会忘记拨打git add ......
git-status
是你的朋友:)
注意:git-add
不将文件添加到存储库。 git commit
提交来自staging area
的{{1}} repository
, 的内容。这一开始可能看起来很奇怪,但提供了更大的灵活性。有关详细信息,请参阅another answer。
答案 1 :(得分:3)
在https://github.com/orefalo/g2
获取 G2G2将通过提供易于使用的宏来帮助您学习git命令行。
命令为g freeze -m "commit msg"
。
它适用于添加,删除和更改。你正在冻结一个国家......这应该是从第一天开始的方式。