我通常在给定的提交中有一些我正在处理的文件,有时我只想提交其中的一些文件,或者可能会回滚一些文件。如果文件在同一条路径中,我最终必须手动输入大部分文件。
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
提交第二个。
答案 0 :(得分:3)
现在大多数体面的shell支持**
通配符,它将匹配多个子目录级别。你可以这样做,例如:
git status **/goodbye
适用于bash和zsh。我不使用其他贝壳,但如果现代任何东西都缺乏能力,我会感到惊讶。
答案 1 :(得分:1)
没有办法在CLI上执行此操作(除非您自己编写)。这些用例是GUI擅长的。 Try a bunch直到找到你喜欢的那个。