如何在没有完整路径的情况下从git status快速引用文件

时间:2013-09-09 17:30:06

标签: git

我通常在给定的提交中有一些我正在处理的文件,有时我只想提交其中的一些文件,或者可能会回滚一些文件。如果文件在同一条路径中,我最终必须手动输入大部分文件。

git status
...
   modified: src/foo/Views/bar/helloWorld.html
   modified: src/foo/Views/bar/helloCrazyWorld.html
   modified: src/foo/Views/bar/goodByeCruelWorld.html
   modified: src/foo/Controllers/bar/hello
   modified: src/foo/Controllers/bar/goodbye

忽略可怕且无意义的目录结构。在没有实际输入完整路径的情况下快速指定我想要git checkout src/foo/Controllers/bar/hello的最佳方法是什么?

假设可能存在类似以下类似的目录,因此tab-completion并不总是比单独输入更可行。

src/fob
src/foo/Views/bad

能够说出git checkout #4然后检查第4项是很好的。或git commit #2提交第二个。

2 个答案:

答案 0 :(得分:3)

现在大多数体面的shell支持**通配符,它​​将匹配多个子目录级别。你可以这样做,例如:

git status **/goodbye

适用于bash和zsh。我不使用其他贝壳,但如果现代任何东西都缺乏能力,我会感到惊讶。

答案 1 :(得分:1)

没有办法在CLI上执行此操作(除非您自己编写)。这些用例是GUI擅长的。 Try a bunch直到找到你喜欢的那个。