我在.gitignore
文件中定义了各种散乱的路径和文件。我的典型工作流程之一是导航到路径,然后执行git add *
以将该路径下的所有更改加入暂存区。但是,这样做有时会出现警告,如"以下路径被你的一个 .gitignore 文件忽略:"。
这些路径本应被忽略。有没有办法要么A)在运行git add *
时抑制此警告,要么B)使用不触发此警告但具有相同行为并且同样简洁的其他 git 命令?
我在.gitignore
文件中定义了各种散乱的路径和文件。我的典型工作流程之一是导航到路径,然后执行git add *
以将该路径下的所有更改加入暂存区。但是,这样做有时会出现警告,如"以下路径被你的一个 .gitignore 文件忽略:"。
这些路径本应被忽略。有没有办法要么A)在运行git add *
时抑制此警告,要么B)使用不触发此警告但具有相同行为并且同样简洁的其他 git 命令?
如果符合您的需求,那么解决问题最简单、最优雅的方式(来自评论区)是使用.
代替*
索引所有文件。请在此处阅读以了解在当前上下文中使用这两个符号之间的微妙差别,但请保留HTML标记。
git add .
您可以将命令的输出重定向到本地日志文件中,以便在控制台完全静默的情况下,将输出记录在指定的日志文件中,这样就不会错过重要的内容:
git add * &> output.log
您还可以通过添加&> /dev/null
完全不使用控制台输入来完全静默地运行命令,但是我不建议这样做,因为它会阻止命令向您提供任何控制台输出,所以在使用此功能时必须小心,因为您将无法看到是否发生任何错误或严重警告。
git add * &> /dev/null
git add '*'
(即转义 *
)。我不确定它会做什么。 - melpomene.
解决方案放在顶部,我会接受您的答案。不应鼓励将输出路由到 /dev/null
。 - MooseBoys
git add .
(点而不是星号)。 - akopgit add .
命令时,是否仍然会收到警告? - melpomene.
时,警告不会被打印出来,我已经在我的答案中包含了这一点。谢谢你和 @user6537157 提醒我这个显而易见的解决方案。 - Matthew