“git add -u”和“git add -A”有啥区别?
Posted
技术标签:
【中文标题】“git add -u”和“git add -A”有啥区别?【英文标题】: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 命令可用于删除已从磁盘手动删除的文件?
【问题讨论】:
可能非常相关:***.com/questions/2190409/…. 【参考方案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了解更多信息。
【讨论】:
对于 git 2.0 版,git add .
还记录文件删除。从 [doc][1]: > "git add 以上是关于“git add -u”和“git add -A”有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
git checkout .和git checkout -f的区别;git add . git add -u git add -A的区别
git checkout .和git checkout -f的区别;git add . git add -u git add -A的区别
git add -A git add -u git add . 三种区别
“git add -u”和“git add -A”有啥区别?