为什么我们要使用 git add -u?
Why would we ever want to use git add -u?
如果我正确理解 git add 的不同选项,git add -u 只会将修改和删除的文件添加到暂存区,而 git add .不仅添加修改和删除的文件,还添加未跟踪的文件。所以我想知道为什么我们会在有 git add 时使用 git add -u 。或 git 添加 -A
我经常使用它:
如果git status
告诉我有各种修改后的文件没有暂存提交,而我想准确地添加那些文件,git add -u
准确地添加那些没有提交的文件我不得不考虑一下。
如果git status
告诉我有各种修改文件,and/or其他文件,我不想en-masse添加[=39= git status
提到的所有,我运行git diff
和git diff --staged
1if/as想要的, git add
个人,也许偶尔 git add -p
,等等
如果 git status
告诉我有未跟踪的文件我 想要添加,我可以使用 git add .
(我很少/有节制地使用它,以免意外地避免添加应该保持未跟踪的文件;如果 git status
显示我 不 想要的未跟踪文件,我将它们添加到适当的 .gitignore
先,但我还是倾向于不运行 git add .
.)
请注意,虽然 git add -A
会“添加”一个删除(并且 git add file-i-removed
会做同样的事情),但我的大脑对这个结构犹豫不决:我用 git rm
代替.
1实际上,我的手指习惯于将此输入为 git diff --cached
。它们的作用完全相同。
缩写形式:这取决于您的 build/test 周期。如果你产生了很多碎屑或其他 local-only 工作并且绕过它比明确管理它更容易,git add -u
使得 drop-dead 很容易只添加东西 git 已经知道你在乎了。
也许您正在生成类似 UI-trace 的数据集来提供单元测试并且有很多候选对象,您明确添加了值得跟踪的对象并使用 git add -u
应用任何自动生成的更新(例如说要让数据集随着跟踪驱动程序的变化而保持最新。
当然,您可以创建一个“不要跟踪这些”目录并将 not-ready-for-prime-time 内容保留在那里,但这比仅使用 git add -u
.
更乏味
如果我正确理解 git add 的不同选项,git add -u 只会将修改和删除的文件添加到暂存区,而 git add .不仅添加修改和删除的文件,还添加未跟踪的文件。所以我想知道为什么我们会在有 git add 时使用 git add -u 。或 git 添加 -A
我经常使用它:
如果
git status
告诉我有各种修改后的文件没有暂存提交,而我想准确地添加那些文件,git add -u
准确地添加那些没有提交的文件我不得不考虑一下。如果
git status
告诉我有各种修改文件,and/or其他文件,我不想en-masse添加[=39=git status
提到的所有,我运行git diff
和git diff --staged
1if/as想要的,git add
个人,也许偶尔git add -p
,等等如果
git status
告诉我有未跟踪的文件我 想要添加,我可以使用git add .
(我很少/有节制地使用它,以免意外地避免添加应该保持未跟踪的文件;如果git status
显示我 不 想要的未跟踪文件,我将它们添加到适当的.gitignore
先,但我还是倾向于不运行git add .
.)
请注意,虽然 git add -A
会“添加”一个删除(并且 git add file-i-removed
会做同样的事情),但我的大脑对这个结构犹豫不决:我用 git rm
代替.
1实际上,我的手指习惯于将此输入为 git diff --cached
。它们的作用完全相同。
缩写形式:这取决于您的 build/test 周期。如果你产生了很多碎屑或其他 local-only 工作并且绕过它比明确管理它更容易,git add -u
使得 drop-dead 很容易只添加东西 git 已经知道你在乎了。
也许您正在生成类似 UI-trace 的数据集来提供单元测试并且有很多候选对象,您明确添加了值得跟踪的对象并使用 git add -u
应用任何自动生成的更新(例如说要让数据集随着跟踪驱动程序的变化而保持最新。
当然,您可以创建一个“不要跟踪这些”目录并将 not-ready-for-prime-time 内容保留在那里,但这比仅使用 git add -u
.