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

时间:2013-02-21 20:11:11

标签: git git-add

好的,所以当我遇到“Removing multiple files from a Git repo that have already been deleted from disk”时,我正在搜索“如何从Git中删除手动删除的文件”而不对每个文件实际执行git rm file.txt。< / p>

两个最受欢迎的命令是:

  • git add -u
  • git add -A

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

2 个答案:

答案 0 :(得分:21)

简要回答:

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


说明:

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

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

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


要点:

  • git add -A :阶段一切
  • git add -u :只有修改过的文件
  • git add . :暂存所有内容,不包含已删除的文件

阅读Documentation了解更多信息。

答案 1 :(得分:6)

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

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