【发布时间】:2010-10-27 16:01:59
【问题描述】:
我在编辑器中打开了文件“main.cpp”。
我也想在编辑器中查看“main.cpp”的上一个版本。
我现在的做法是这样的。
close "main.cpp" in the editor
prompt> mv main.cpp tmp
prompt> git checkout HEAD^ main.cpp
prompt> mv main.cpp old_main.cpp
prompt> mv tmp main.cpp
prompt>
open "main.cpp" and "old_main.cpp" in the editor
可以简化一下,不用在编辑器中关闭“main.cpp”吗?
我希望的是git-checkout 的变体,它可以做到这一点。
更新:我在 mac osx 10.5.7 上使用 git
prompt> git --version
git version 1.6.0.4
prompt>
UPDATE2:Jakub Narębski 的回答是:
prompt> git show HEAD^:dir1/dir2/dir3/main.cpp > old_main.cpp
prompt>
UPDATE3:Karmi 的回答,针对特定修订:
prompt> git show 4c274dd91dc:higgs/Higgs.xcodeproj/project.pbxproj > old_project.pbxproj
prompt>
【问题讨论】:
-
你用什么编辑器?也许它有插件/插件/模块添加对 Git 的支持?
-
我使用 textmate。它有一些 git 支持,我还没有检查它是否可以做到。
-
Textmate 有 git 包:github.com/timcharper/git-tmbundle(你应该检查过 git wiki 上的 InterfacesFrontendsAndTools 页面:git.or.cz/gitwiki)
-
顺便说一下,Emacs 中的 VC 接口(Git 也以 vc-git.el 的形式提供支持)具有“显示其他版本”命令。如果 TexMate Git Bundle (git-tmbundle) 没有它,也许值得添加它。
-
我使用符号链接来更好地跟踪我在 TextMate 中的项目。 25 个目录,300 个文件。这有助于隐藏 builddirs 和其他不相关的目录。但是 git/TextMate 对这些符号链接不太满意,所以没有 :-(
标签: git