这看起来很简单,但我很难理解以下命令之间的区别:
git add -n
and
git add -n --ignore-missing
我相信我明白了什么" git add -n"从某种意义上说,它是" git add"的干运行,这意味着它将告诉用户哪些文件更改将添加到暂存区域(索引)而不实际向暂存区域添加任何内容。我阅读了以下对" git add -n"的描述。 online git documentation中的命令:
-n
--dry-run实际上不添加文件,只显示它们是否存在和/或将被忽略。
"将被忽略"我假设如果" git add -n"没有显示它将对存在的文件做什么,然后该文件被忽略"。我还没有想出这样一种情况,即命令将逐字显示文件将被忽略......请注意,我过去几周只与Git合作过。
现在,我的困惑开始于" - 忽略"的以下描述:
- 忽略 -
此选项只能与--dry-run一起使用。通过使用此选项,用户可以检查是否有任何给定文件 无论他们是否已经出现在工作中,都会被忽略 树与否。
" ...用户可以检查是否会忽略任何给定的文件" ...但是,我认为" git add -n"完全靠自己做。我建立了一个存储库,其中所有与* .log匹配的文件都将被忽略。然而,我没有看到" git add -n"提及任何具有该扩展名的文件,除非它已经是存储库的一部分。同样适用于" git add -n --ignore-missing"。
我一直在拼命寻找一种方法,这个选项与常规使用" git add -n"有所不同。我有一种感觉,我对" git add -n"的理解部分或完全不正确,让我担心。因此,我希望有人可以详细说明并强调我出错的地方。感谢所有能提供帮助的人!
答案 0 :(得分:2)
您可以git add -n --ignore-missing some.filename
,如果gitignore政策忽略some.filename
,您将获得"您的.gitignore文件会忽略以下路径"消息和非零退出状态。即使实际上没有名为some.filename
的文件,这也适用于。如果没有--ignore-missing
,则会收到有关some.filename
不存在的错误消息。