Git添加修改,删除和未跟踪的所有文件?

时间:2010-08-16 22:50:45

标签: git git-add git-rm

有没有办法添加所有文件,无论你对它们做了什么,是否删除,未跟踪等?喜欢提交。我每次提交时都不想拥有git addgit rm所有文件,特别是当我处理大型产品时。

12 个答案:

答案 0 :(得分:282)

尝试:

git add -A

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

git add -A .

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

答案 1 :(得分:68)

尝试

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 .

答案 2 :(得分:37)

您想要git add -A

git add -A阶段全部;

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

修改和删除

git add -u个阶段,没有新的。

答案 3 :(得分:19)

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. w q
  5. 输入
  6. 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'添加整个项目中的所有文件

答案 4 :(得分:11)

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

答案 5 :(得分:9)

git add .

add和'。'之间有一个空格。 (点到点)。它完成了工作。:))

答案 6 :(得分:7)

这是我用于暂存文件夹下所有已更改文件的内容:

std::optional

谢谢!

答案 7 :(得分:5)

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

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

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

答案 8 :(得分:5)

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

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

重置

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

答案 9 :(得分:5)

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 :/

答案 10 :(得分:3)

从版本2.0开始的Git文档:

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

git add --all :/

git add -A :/

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

git add --all .

git add -A .

答案 11 :(得分:2)

我使用以下行添加暂存所有已修改和新创建的文件,不包括.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