2010-08-16 102 views
209

有没有办法添加所有文件,无论你做了什么,无论它被删除,未跟踪等?就像一个提交。我只是不想在每次提交时都要使用git addgit rm所有文件,尤其是当我在处理大型产品时。Git添加修改,删除和未跟踪的所有文件?

+6

请参阅:[“git add -A”和“git add。”的区别](http://stackoverflow.com/questions/572549/difference-of-git-add-a-and-git-add) – mahalie 2011-06-07 01:14:10

回答

9

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

+0

看到我的答案如何添加已删除的文件 – 2013-02-18 17:15:09

254

尝试:

git add -A 

警告:使用Git 2.0(2013年中期)开始在整个工作树,这将总是阶段文件
如果你想上演你的工作树的当前路径下的文件,你需要使用:

git add -A . 

另见:Difference of git add -A and git add .

+0

这不适合我...我如何显示我的终端输入输出在这个讨论中?复制粘贴我的终端输出作为这个讨论的答案? – 2011-10-11 12:29:21

+0

这里是我面临的问题 - http://stackoverflow.com/q/7726131/636762 - 请在这一个请帮助我 – 2011-10-11 12:41:38

+0

这也可以不工作,如果你的git版本是旧的。我在运行git 1.5.2.5的服务器上运行脚本。 git add -A没有工作。从脚本中没有报告错误消息。只有从命令行才发现-A不是合法的选项。 – Eponymous 2012-01-16 16:37:32

8
git add . 

有加和”之间的空间。 “ (点字)。它做的工作。:)

+1

'git add .'阶段新和修改,*没有删除* - http://stackoverflow.com/questions/572549/difference-of-git-add-a-and-git-add – 2013-03-13 21:21:47

58

尝试

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 . 

另见:Difference of git add -A and git add .

4

我撰写了G2的项目,在命令行一个友好的环境git情人。
请从GitHub获得项目 - G2 https://github.com/orefalo/g2

它还包含了许多方便的命令,其中一人正是你要找的正在:freeze

冻结 - 冻结在库中的所有文件(添加,删除,修改),从而将该内容分级以包含在下一次提交中。也接受特定的路径作为参数

4

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

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

要重置

$ git status -s|awk '{ print $2 }'|xargs git reset HEAD 
30

你想git add -A

git add -A阶段所有;

git add .阶段新增和修改,未删除;

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

1

我用下面的行添加分期所有修改和新创建的文件,但不包括的.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 
4

对于新版本Git的

我试图git add -A,这提示,

警告:与没有路径参数 从树的子目录“git的添加--all(或-A)”将在Git的2.0更改行为并且不应再使用 。要添加整个树的内容,运行:

混帐添加--all:/(或git的添加-A:/)

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

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

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


然后我尝试下面这工作

git add --all :/ 
14

git add --allgit add -Agit add -A .阶段所有

git add .阶段新&修改没有删除

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

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

写这个命令后请按照下列步骤操作: -

  1. 写你的消息
  2. 按ESC
  3. :瓦特q
  4. 进入

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

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

git add docs/*/txt加入文档目录中的所有TXT文件

git add docs/加入文档目录中的所有文件

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

1

从版本2开始的Git文档。0:

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

git add --all :/ 

git add -A :/ 

要限制的命令将当前目录下,运行:

git add --all . 

git add -A . 
1

这是我使用的沉渣夹下的所有修改过的文件:

git add . 

谢谢!

+1

这似乎只是[现有的答案]的重复(https://stackoverflow.com/a/8680056)和[现有答案](https://stackoverflow.com/a/3498057)。 – Pang 2017-06-09 03:27:10

相关问题