272

有没有办法添加所有文件,无论您对它们做什么,无论是删除、未跟踪等吗?就像提交一样。我只是不想每次提交时都必须git addgit rm所有文件,尤其是在我处理大型产品时。

4

10 回答 10

320

尝试:

git add -A

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

git add -A .

另请参阅:的区别git add -Agit add .

于 2010-08-16T22:57:38.760 回答
75

尝试

git add -u

" u" 选项代表更新。这将更新存储库并实际从存储库中删除您在本地副本中删除的文件。

git add -u [filename]

仅对一个文件进行删除。推送后,该文件将不再位于存储库中。

或者,

git add -A .

相当于

git add .

git add -u .

注意额外的“。” 开git add -Agit add -u


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

git add -A .

另请参阅:的区别git add -Agit add .

于 2012-05-08T18:54:02.797 回答
52

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

你想要git add -A

git add -A阶段所有;

git add .新阶段和修改阶段,没有删除;

git add -u阶段修改和删除,没有新的。

于 2013-03-22T02:43:36.507 回答
31

git add --all git add -A git add -A . 全部阶段

git add . 新和修改但未删除的阶段

git add -u 阶段修改和删除没有新的

git commit -a手段git add -ugit commit -m "message"

编写此命令后,请按照下列步骤操作:-

  1. i
  2. 写下你的信息
  3. esc
  4. :wq
  5. enter

git add <list of files>添加特定文件

git add *.txt添加当前目录下的所有txt文件

git add docs/*/txt 在 docs 目录中添加所有 txt 文件

git add docs/ 在 docs 目录中添加所有文件

git add "*.txt"git add '*.txt'添加整个项目中的所有文件

于 2016-03-05T21:29:25.433 回答
13

我不确定它是否会添加已删除的文件,但git add .会从根目录添加所有未跟踪的文件。

于 2010-08-16T22:54:21.080 回答
5

这是我的选择(在任何 bash 中):

$ git status -s|awk '{ print $2 }'|xargs git add

重置

$ git status -s|awk '{ print $2 }'|xargs git reset HEAD
于 2012-08-03T10:31:03.043 回答
5

我编写了 G2 项目,这是一个为命令行 git 爱好者提供的友好环境。
请从 github 获取项目 - G2 https://github.com/orefalo/g2

它有一堆方便的命令,其中一个正是您正在寻找的:freeze

freeze - 将存储库中的所有文件(添加、删除、修改)冻结到暂存区域,从而暂存该内容以包含在下一次提交中。还接受特定路径作为参数

于 2012-05-08T18:57:29.183 回答
5

对于较新版本的 Git。

我试过git add -A了,这提示,

警告:在 Git 2.0 中,没有来自树的子目录的路径参数的 'git add --all (or -A)' 的行为将发生变化,不应再使用。要为整个树添加内容,请运行:

git add --all :/ (或 git add -A :/)

要将命令限制到当前目录,请运行:

混帐添加 --all 。(或 git add -A 。)

对于当前的 Git 版本,该命令仅限于当前目录。


然后我在下面尝试了哪个有效

git add --all :/
于 2015-11-06T04:35:38.423 回答
3

我使用以下行添加以暂存所有已修改和新创建的文件,不包括 .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
于 2015-07-30T10:29:12.763 回答
3

从 2.0 版开始的 Git 文档:

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

git add --all :/

或者

git add -A :/

要将命令限制到当前目录,请运行:

git add --all .

或者

git add -A .
于 2017-04-18T14:14:31.110 回答