在不同的Git分支中查看文件,而不改变分支

有没有可能在git分支中打开文件而不检出分支? 怎么样?

基本上我想能够在我的github页面分支中打开一个文件,而不必一直切换分支。 我不想修改它,只想查看它。

这应该工作:

 git show branch:file 

其中分支可以是任何参考(分支,标签,HEAD,…), 文件文件的完整path。 要导出它,你可以使用

 git show branch:file > exported_file 

你还应该看看VonC对一些相关问题的回答:

  • 如何从Git中的特定版本检索单个文件?
  • 如何从另一个分支获取一个文件

更新2015-01-19:

现在你可以用git show a1b35:./file.txt来使用相对path。

 git show somebranch:path/to/your/file 

你也可以做多个文件并将它们连接在一起:

 git show branchA~10:fileA branchB^^:fileB 

您必须提供文件的完整path。

如果你想获得本地目录中的文件(只恢复一个文件),你可以签出:

 git checkout somebranch^^^ -- path/to/file 

一个简单的,新手友好的方式来查看文件: git gui browser <branch> ,让您探索任何文件的内容。

它也在git gui的File菜单中。 大多数其他更高级的GUI包装(Qgit,Egit等)也提供浏览/打开文件。

如果您使用的是Emacs,您可以键入Cx v ~以查看您正在编辑的文件的不同版本(标签,分支和哈希值都可以工作)。

$ git status your-file.txt

这提供了你的文件来自哪个分支

$ git status / file-directory

这提供了当前分支中存在的文件。 即“新文件:myfile.txt”提供了它不是当前git分支的一部分。