在不更改分支的情况下查看不同Git分支中的文件

时间:2011-10-21 23:39:47

标签: git version-control branch git-branch

是否可以在不检查该分支的情况下在git分支中打开文件?怎么样?

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

5 个答案:

答案 0 :(得分:749)

这应该有效:

git show branch:file

其中分支可以是任何引用(分支,标记,HEAD,...)和文件是文件的完整路径。要导出它,您可以使用

git show branch:file > exported_file

您还应该查看VonC对相关问题的回答:

更新2015-01-19:

现在您可以使用git show a1b35:./file.txt的相对路径。

答案 1 :(得分:45)

git show somebranch:path/to/your/file

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

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

您必须提供文件的完整路径。

如果你想在本地目录中获取文件(只恢复一个文件),你可以结帐:

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

答案 2 :(得分:35)

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

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

答案 3 :(得分:18)

如果你正在使用Emacs,你可以输入C-x v ~来查看你当前正在编辑的文件的不同版本(标签,分支和散列都可以正常工作)。

答案 4 :(得分:1)

将以下内容添加到您的~/.gitconfig文件中

[alias]
  cat = "!git show \"$1:$2\" #"

然后尝试这个

git cat BRANCHNAME FILEPATH

我个人更喜欢不带冒号的单独参数。为什么?这种选择反映了checkout命令的参数,我倾向于经常使用它,因此,我发现它比show命令的用双精度冒号分隔的参数更容易记住。