【问题标题】:What's the difference between "git add -u" and "git add -A"?“git add -u”和“git add -A”有什么区别?
【发布时间】:2013-02-07 07:28:14
【问题描述】:

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

投票最多的两个命令是:

  • git add -u
  • git add -A

尽管它们都对我有用,但我仍然无法理解其中的区别,并且页面上的解决方案也没有解释。我的问题是,它们之间有何不同,还有哪些其他 git 命令可用于删除已从磁盘手动删除的文件?

【问题讨论】:

标签: git git-add


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    简要回答:

    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了解更多信息。

    【讨论】:

    猜你喜欢
    • 2011-01-12
    • 1970-01-01
    • 2018-07-09
    • 2021-08-29
    • 2010-10-09
    相关资源
    最近更新 更多