Git show的文件路径

时间:2015-06-08 14:27:28

标签: git

我们说我在目录myapp中有我的东西的git repo:

myapp
    /.git
    /.gitignore
    /subdirA
        /subdirB
            /file1.txt
            /file2.txt
            /(and some other stuffs)
    /(and some other stuffs)

我想从旧提交file1.txt查看abcd123。对于another thread,我了解到我应该使用类似的东西:

$ git show abcd123:path/to/file1.txt

但是,我对使用正确的路径感到困惑。我尝试过像

这样的东西
$ git show abcd123:myapp/subdirA/subdirB/file1.txt
$ git show abcd123:subdirA/subdirB/file1.txt
$ git show abcd123:subdirB/file1.txt
$ git show abcd123:file1.txt

但是git不断给我提供错误信息,比如

$ Path 'subdirA/subdirB/file1.txt' does not exist in 'abcd123'

如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

此命令将生成评论INotificationService中存在的路径列表:

abcd123

您从该命令获得的任何内容都应该作为git ls-tree -r --name-only abcd123

的路径

此外,有时在路径上使用前导git show abcd123:...会更容易。这会自动将./替换为从存储库根目录到工作树中当前目录的路径。例如:

.

如果您尝试cd ~/my-git-repo/dir1/dir2 git show abcd123:./Makefile # equivalent to git show abcd123:dir1/dir2/Makefile 它不起作用......但是git确实建议("您的意思是......?")这两个版本的完整路径来自存储库根目录和带有git show abcd123:Makefile的版本...除非你在./的根目录中也有一个Makefile,在这种情况下你只是得到它而没有警告你可能有我想要abcd123