繁体   English   中英

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

[英]Git add all files modified, deleted, and untracked?

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

尝试:

git add -A

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

git add -A .

另请参阅: git add -Agit add.

尝试

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.

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

你想要git add -A

git add -A所有阶段;

git add. 分阶段新建和修改,不删除;

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

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. : w q
  4. 回车

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'添加整个项目中的所有文件

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

对于较新版本的 Git。

我试过git add -A并提示,

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

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

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

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

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


然后我尝试了下面的工作

git add --all :/

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

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

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

这是我的替代方案(在任何 bash 中):

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

重置

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

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

从 2.0 版开始的 Git 文档:

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

git add --all :/

要么

git add -A :/

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

git add --all .

要么

git add -A .

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM