Git vs SVN如何区分标签

时间:2012-03-31 14:37:07

标签: git

使用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

我需要比较HEADworks,但我似乎找不到办法来做到这一点。我甚至无法在SVN中查看来自works的文件,它想要在该版本中拉出整个存储库并清除我的工作目录。如果我可以并排获取文件,我可以运行opendiff或其他工具。

我错过了什么?

3 个答案:

答案 0 :(得分:2)

  1. 您可以将任意两次提交与git diff <commit hash1> <commit hash2>进行比较。
  2. 您可以将任意两次提交中的单个文件与git diff <commit hash1> <commit hash2> -- file/path
  3. 进行比较
  4. 您还可以使用git checkout <commit hash> -- file/path签出特定提交中的文件。
  5. 注意:您可以将<commit hash>替换为任何标记,分支等。

答案 1 :(得分:0)

你可以像这样区分标签:

git diff tag1 tag2

答案 2 :(得分:0)

运行gitk --all

选择第一次提交。

右键单击第二个提交,然后选择“将此差异化为选定的”

或者你可以在命令行中使用git diff。