在我的工作树中,有一个包含几个修改过的文件的目录,在执行git status时,我暂时不想看到这些文件。但理想情况下,这应该在不修改工作树的“状态”的情况下完成。我怎么能这么做?
我查看了man git-status,但没有看到排除特定目录的选项。
一些解决办法:
git status | grep -v dir-to-exclude,然后我就失去了漂亮的颜色。git status dir-1 dir-2 dir-3 file-1 file-2git stash临时将修改存储在dir-to-exclude/中,但这会修改我的状态dir-to-exclude/添加到.gitignore,但这会修改工作树的状态,我必须记住恢复更改。它也不适用于修改过的版本控制文件。git status,则使用其他命令?如果没有现成的git status选项,那么使用grep而不失去漂亮的颜色也许是我应该使用的。
发布于 2020-04-20 06:30:22
尝尝这个
git -c color.ui=always status | grep -v <dir-to-exclude>参见Git节中的颜色这里
Git完全支持彩色终端输出,这大大有助于直观地解析命令输出。许多选项可以帮助您将颜色设置为您的偏好。 color.ui Git会自动对其大部分输出进行着色,但是如果您不喜欢这种行为,则会有一个主开关。 您还可以将其设置为始终忽略终端和管道之间的差异。
发布于 2020-04-20 06:44:26
这可能是git update-index --skip-worktree的适当用途。引用文献资料的话,
跳过-工作树位可以在一个(长)句子中定义:当读取一个条目时,如果它被标记为跳过-工作树,那么Git假装它的工作目录版本是最新的,而是读取索引版本。
换句话说,如果使用git update-index --skip-worktree <filename>在文件上设置此标志,则Git将忽略磁盘上文件的实际内容和元数据,而只是假装文件未经修改。这只适用于读取操作;如果运行将写入文件的Git操作(例如git checkout或git reset),则Git将向您发出警告。
就我个人而言,这个命令被别名为git ignore,而相反的版本,git update-index --no-skip-worktree,别名为git unignore。当然,如果要这样做,您必须记住,这与使用.gitignore文件的机制完全无关,因此,如果可能出现混淆,您可能需要选择不同的名称。
发布于 2022-04-29 18:39:25
如何排除在执行“git状态”命令时要显示的不需要的文件夹内容复本
使用git status . -- ':!dir'在运行git status时排除dir文件夹。
https://stackoverflow.com/questions/61316103
复制相似问题