使用svn和Cornerstone这是微不足道的,但我似乎找不到使用Git或sourcetree(Atlassians for mac sourcetreeapp的优秀视觉git工具)的方法。
我需要比较同一分支上的两个提交,这两个提交相隔几个版本。 Cornerstone让我选择任何版本或标签,并与我的工作目录进行比较,但我似乎无法找到获取sourcetree的方法,或使用git diff和filemerge(opendiff)来完成此任务。
E.g。
working dir HEAD
change three
change two
change one Tag: works
我需要比较HEAD
和works
,但我似乎找不到办法来做到这一点。我甚至无法在SVN中查看来自works
的文件,它想要在该版本中拉出整个存储库并清除我的工作目录。如果我可以并排获取文件,我可以运行opendiff或其他工具。
我错过了什么?
答案 0 :(得分:2)
git diff <commit hash1> <commit hash2>
进行比较。 git diff <commit hash1> <commit hash2> -- file/path
git checkout <commit hash> -- file/path
签出特定提交中的文件。 注意:您可以将<commit hash>
替换为任何标记,分支等。
答案 1 :(得分:0)
你可以像这样区分标签:
git diff tag1 tag2
答案 2 :(得分:0)
运行gitk --all
选择第一次提交。
右键单击第二个提交,然后选择“将此差异化为选定的”
或者你可以在命令行中使用git diff。