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

发布于 2024-09-14 10:39:32 字数 132 浏览 27 评论 0原文

有没有一种方法可以添加所有文件,无论您对它们执行什么操作,无论是删除、取消跟踪等?就像提交一样。我只是不想每次提交时都必须 git addgit rm 所有文件,尤其是当我正在开发大型产品时。

Is there a way to add all files no matter what you do to them whether it be deleted, untracked, etc? like for a commit. I just don't want to have to git add or git rm all my files every time I commit, especially when I'm working on a large product.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

淡淡的优雅 2024-09-21 10:39:32

尝试:

git add -A

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

git add -A .

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

Try:

git add -A

Warning: Starting with git 2.0 (mid 2013), this will always stage files on the whole working tree.
If you want to stage files under the current path of your working tree, you need to use:

git add -A .

Also see: Difference of git add -A and git add .

一萌ing 2024-09-21 10:39:32

尝试

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 .

Try

git add -u

The "u" option stands for update. This will update the repo and actually delete files from the repo that you have deleted in your local copy.

git add -u [filename]

to stage a delete to just one file. Once pushed, the file will no longer be in the repo.

Alternatively,

git add -A .

is equivalent to

git add .

git add -u .

Note the extra '.' on git add -A and git add -u


Warning: Starting with git 2.0 (mid 2013), this will always stage files on the whole working tree.
If you want to stage files under the current path of your working tree, you need to use:

git add -A .

Also see: Difference of git add -A and git add .

时常饿 2024-09-21 10:39:32

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

您需要 git add -A :

git add -A 阶段全部;

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

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

The following answer only applies to Git version 1.x, but to Git version 2.x.

You want git add -A:

git add -A stages All;

git add . stages new and modified, without deleted;

git add -u stages modified and deleted, without new.

ぽ尐不点ル 2024-09-21 10:39:32

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. :< kbd>wq
  5. 输入

git add <文件列表> 添加特定文件

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

git add docs/*/txt 添加docs目录下的所有txt文件

git add docs/ 添加docs目录下的所有文件

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

git add --all or git add -A or git add -A . Stages All

git add . Stages New & Modified But Without Deleted

git add -u Stages Modified & Deleted But Without New

git commit -a Means git add -u And git commit -m "message"

After writing this command follow these steps:-

  1. press i
  2. write your message
  3. press esc
  4. press :wq
  5. press enter

git add <list of files> add specific file

git add *.txt add all the txt files in current directory

git add docs/*/txt add all txt files in docs directory

git add docs/ add all files in docs directory

git add "*.txt" or git add '*.txt' add all the files in the whole project

温馨耳语 2024-09-21 10:39:32

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

I'm not sure if it will add deleted files, but git add . from the root will add all untracked files.

圈圈圆圆圈圈 2024-09-21 10:39:32

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

For newer version of Git.

I tried git add -A and this prompted,

warning: The behavior of 'git add --all (or -A)' with no path argument
from a subdirectory of the tree will change in Git 2.0 and should not
be used anymore. To add content for the whole tree, run:

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

To restrict the command to the current directory, run:

git add --all . (or git add -A .)

With the current Git version, the command is restricted to the current
directory.

Then I tried below which worked.

git add --all :/
江心雾 2024-09-21 10:39:32

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

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

重置

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

This is my alternative (in any bash):

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

To reset

$ git status -s|awk '{ print $2 }'|xargs git reset HEAD
哎呦我呸! 2024-09-21 10:39:32

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

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

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

I authored the G2 project, a friendly environment for the command line git lover.
Please get the project from github - G2 https://github.com/orefalo/g2

It has a bunch of handy commands, one of them being exactly what your are looking for: freeze

freeze - Freeze all files in the repository (additions, deletions, modifications) to the staging area, thus staging that content for inclusion in the next commit. Also accept a specific path as parameter

芯好空 2024-09-21 10:39:32

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

I use the following line to add for staging all the modified and newly created files, excluding the ones listed in .gitignore:

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

(the syntax $() is for the bash shell). I guess that the command line option -mod should add also the deleted files... Or, if you have file names with embedded blanks, the following one-liner should do the trick:

git ls-files -z --deleted --modified --others --exclude-standard | xargs -0 git add
醉殇 2024-09-21 10:39:32

从版本 2.0 开始的 Git 文档:

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

git add --all :/

git add -A :/

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

git add --all .

git add -A .

From Git documentation starting from version 2.0:

To add content for the whole tree, run:

git add --all :/

or

git add -A :/

To restrict the command to the current directory, run:

git add --all .

or

git add -A .
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文