gpt4 book ai didi

git - "git add -A"和 "git add ."之间的区别

转载 作者:行者123 更新时间:2023-12-05 07:54:07 29 4
gpt4 key购买 nike

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
# Changed but not updated:
# modified: change-me
# deleted: delete-me
# Untracked files:
# add-me

git add .
git status

# Changes to be committed:
# new file: add-me
# modified: change-me
# Changed but not updated:
# deleted: delete-me

git reset

git add -u
git status

# Changes to be committed:
# modified: change-me
# deleted: delete-me
# Untracked files:
# add-me

git reset

git add -A
git status

# Changes to be committed:
# new file: add-me
# modified: change-me
# deleted: delete-me

关于git - "git add -A"和 "git add ."之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31712343/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com