是否有一种方法可以添加所有文件,无论你对它们做什么,无论是删除,不跟踪,等等?比如承诺。我只是不想每次提交时都必须git add或git rm所有的文件,特别是当我在处理一个大型产品时。


当前回答

从Git 2.0版本开始的文档中:

要为整个树添加内容,运行:

git add --all :/

or

git add -A :/

将命令限制到当前目录,执行:

git add --all .

or

git add -A .

其他回答

我使用下面的行来添加所有修改和新创建的文件,不包括.gitignore中列出的文件:

git add $(git ls-files -mo --exclude-standard)

($()语法用于bash shell)。我猜命令行选项-mod也应该添加删除的文件…或者,如果你的文件名中嵌入了空白,下面的一行代码应该可以做到:

git ls-files -z --deleted --modified --others --exclude-standard | xargs -0 git add

以下答案仅适用于Git版本1。x,而是Git版本2.x。

你想要git添加-A:

添加所有的stage;

Git添加。阶段新的和修改的,没有删除;

Git添加-u阶段修改和删除,没有新的。

从Git 2.0版本开始的文档中:

要为整个树添加内容,运行:

git add --all :/

or

git add -A :/

将命令限制到当前目录,执行:

git add --all .

or

git add -A .

对于更新版本的Git。

我尝试了git add -A,然后提示,

警告:'git add——all(或-A)'不带路径参数的行为 在Git 2.0中,树的子目录将会改变,而且不应该改变 不再被使用。要为整个树添加内容,运行: git add——all:/(或git add -A:/) 将命令限制到当前目录,执行: Git add—all。(或git add -A。) 对于当前的Git版本,该命令被限制在当前 目录中。

然后我尝试了下面的工作。

git add --all :/

Try:

git add -A

警告:从git 2.0(2013年年中)开始,这将始终在整个工作树上部署文件。 如果你想在你的工作树的当前路径下运行文件,你需要使用:

git add -A .

另见:git add -A和git add的区别。