内容来自 DOC[ https://q.houxu6.top/?s="git add -A" 和 "git add ." 的区别](https://q.houxu6.top/?s="git add -A" 和 "git add ." 的区别)
"git add [--all | -A]" 和 "git add ." 的区别
这个答案只适用于 Git 1.x版本。对于Git 2.x版本,请查看其他答案。
总结:
git add -A
处理所有更改git add .
处理新文件和修改(不包括删除),针对当前目录及其子目录。git add -u
处理修改和删除,不包括新文件
详细说明:
git add -A
等同于 git add .; git add -u
。
关于 git add .
的要点是,它会查看工作树并将所有路径添加到暂存的更改中,前提是它们已被更改或新增且未被忽略,它不会暂存任何 'rm' 操作。
git add -u
会查看所有已跟踪的文件,并对这些文件进行更改,前提是它们有所不同或者已被删除。它不会添加任何新文件,只会暂存已跟踪文件的更改。
git add -A
是执行这两个操作的便捷快捷方式。
你可以使用以下内容测试不同之处(请注意,对于Git 2.x版本,你的 git add .
git status
输出将会有所不同):
git init
echo Change me > change-me
echo Delete me > delete-me
git add change-me delete-me
git commit -m initial
echo OK >> change-me
rm delete-me
echo Add me > add-me
git status
# 已更改但未更新:
# modified: change-me
# deleted: delete-me
# 未跟踪的文件:
# add-me
git add .
git status
# 待提交的更改:
# new file: add-me
# modified: change-me
# 已更改但未更新:
# deleted: delete-me
git reset
git add -u
git status
# 待提交的更改:
# modified: change-me
# deleted: delete-me
# 未跟踪的文件:
# add-me
git reset
git add -A
git status
# 待提交的更改:
# new file: add-me
# modified: change-me
# deleted: delete-me
标签:me,git,更改,区别,add,change,delete
From: https://www.cnblogs.com/xiaomandujia/p/17791923.html