Git - 自动跟踪目录中的所有文件

时间:2012-05-25 17:31:04

标签: git

  

可能重复:
  git add -A, git commit in one command?

如果我理解正确,当使用git时将新文件添加到目录中时,我必须调用多个命令以确保文件已提交:

git add <directory name>
git commit -m 'commit comment'

这听起来不对,因为我知道我(和许多其他人)会忘记调用git add <directory name>,然后最终得到一个缺少所有新文件的项目。似乎我应该能够在一个命令中提交整个目录,包括任何和所有新文件,而无需在先前的命令中指定将所有新文件添加到提交中。我该怎么做?

2 个答案:

答案 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

获取 G2

G2将通过提供易于使用的宏来帮助您学习git命令行。

命令为g freeze -m "commit msg"

它适用于添加,删除和更改。你正在冻结一个国家......这应该是从第一天开始的方式。