"git add -u"和"git add -A"有什么区别?

She*_*yar 20 git git-add

好的,所以当我遇到" 从已从磁盘中删除的Git仓库中删除多个文件 "时,我正在搜索"如何从Git中删除手动删除的文件"而不实际git rm file.txt为每个文件执行操作.

两个最受欢迎的命令是:

  • git add -u
  • git add -A

虽然它们都适合我,但我仍然无法理解其中的差异,并且页面上的解决方案也没有解释.我的问题是,它们如何彼此不同,以及可以使用哪些其他git命令来删除从磁盘手动删除的文件?

She*_*yar 22

简要回答:

git add -A 等于 git add . + git add -u


说明:

当您执行" git add ."时,它会将所有文件(现有的,已修改的和新的)添加到暂存区域,但不会删除已从磁盘中删除的文件.

" git add -u"仅将当前跟踪的文件(已修改)添加到暂存区域,并检查它们是否已被删除(如果是,则从暂存区域中删除它们).这意味着它不会暂存新文件.

执行" git add -A"执行这两个步骤,即按原样分阶段整个目录.


摘要:

  • git add -A:分期一切
  • git add -u:阶段仅修改文件
  • git add .:暂存一切,没有删除文件

阅读文档了解更多信息.

  • 使用git 2.0版,`git add .`也可以记录文件删除.从[doc] [1]:>"git add <path>"现在与"git add -A <path>"相同,所以>"git add dir /"会注意到你从目录中删除的路径>并记录删除.[1]:https://github.com/git/git/blob/master/Documentation/RelNotes/2.0.0.txt (3认同)

Mel*_*vin 7

git add -A将跟踪新的,修改的和删除的文件

git add -u将跟踪修改和删除的文件