是否可以在不检查该分支的情况下在git分支中打开文件?如何?
基本上,我希望能够在我的github页面分支中打开一个文件,而无需一直切换分支。我不想修改它,只想查看它。
这应该工作:
git show branch:file
其中分支可以是任何引用(分支、标签、HEAD、…),文件是文件的完整路径。要导出它,您可以使用
git show branch:file > exported_file
你还应该看看VonC对一些相关问题的回答:
更新2015-01-19:
现在,您可以使用git show a1b35:./file.txt的相对路径。
git show a1b35:./file.txt
git show somebranch:path/to/your/file
您还可以执行多个文件并将它们连接起来:
git show branchA~10:fileA branchB^^:fileB
您不必提供文件的完整路径,可以接受相对路径,例如:
git show branchA~10:../src/hello.c
如果您想获取本地目录中的文件(仅恢复一个文件),您可以签出:
git checkout somebranch^^^ -- path/to/file
一个简单的,新手友好的方式来查看文件:git gui browser <branch>允许您浏览任何文件的内容。
git gui browser <branch>
它也在git gui的文件菜单中。大多数其他更高级的GUI包装器(Qgit、Egit等)也提供浏览/打开文件。
git gui
如果您使用的是Emacs,您可以键入C-x v ~或M-x vc-revision-other-window以查看当前正在编辑的文件的不同版本(标记、分支和哈希都可以)。
C-x v ~
M-x vc-revision-other-window
将以下内容添加到您的~/.gitconfig文件
~/.gitconfig
[alias]cat = "!git show \"$1:$2\" #"
然后试试这个
git cat BRANCHNAME FILEPATH
就个人而言,我更喜欢没有冒号的单独参数。为什么?这个选择反映了checkout命令的参数,我倾向于经常使用它,因此我发现它比show命令的奇异冒号分隔参数更容易记住。
checkout
show