在命令行上使用git快速引用文件

在命令行上使用git快速引用文件,git,msysgit,Git,Msysgit,假设我有一个源文件,我想通过git add在以下路径中转移该文件: Foo/Bar/Something/SomethingReallyLong/Very/Deep/In/Folder/Structure/Code.cpp 在这个文件所在的目录中,还有其他我还不想处理的文件。我希望有一个快速的标签完成解决方案,或者其他一些捷径。例如: git add Code.cpp 如果我这样做,并且Code.cpp是整个未老化文件列表中唯一具有此名称的文件,那么它应该自动知道如何解析其路径,而无需我键入它

假设我有一个源文件,我想通过git add在以下路径中转移该文件:

Foo/Bar/Something/SomethingReallyLong/Very/Deep/In/Folder/Structure/Code.cpp
在这个文件所在的目录中,还有其他我还不想处理的文件。我希望有一个快速的标签完成解决方案,或者其他一些捷径。例如:

git add Code.cpp
如果我这样做,并且Code.cpp是整个未老化文件列表中唯一具有此名称的文件,那么它应该自动知道如何解析其路径,而无需我键入它

或者,在键入Code.cpp之后,我可以按TAB键,它会在我按ENTER键之前为我解析路径。我在找一些像这样的小把戏。有人知道像这样的日常操作的一些实用的工作流快捷方式吗?我不想输入整个路径:

我也希望这样的快捷方式能在其他命令上工作,比如diff


注意:我在Windows 1.8.4上使用msysgit,您只需更改当前目录,就可以更接近该文件。例如:

cd Foo/Bar/Something/SomethingReallyLong/Very/Deep/In/Folder/Structure
git add Code.cpp
git add OtherFileInTheSameDirectory.cpp
git add ../FileInParentDirectory.cpp

我要回答我自己的问题。自从发布这篇文章后,我了解了。这将允许我执行一个特殊的git状态,在每个文件的左边放置一个数字。然后,您可以使用该数字来引用这些文件,而不是键入完整路径。

这并没有真正的帮助,因为它仍然需要我键入路径:-不过只需键入一次,您可以使用标准的shell选项卡完成即可。也就是说,当这些文件显示为git状态时,实际上支持使用git add自动完成。