HEAD和SVN Master之间的Git Diff

时间:2010-02-10 06:16:03

标签: svn git diff

我想在本地提交的更改和SVN提交的最后一次更改之间进行差异。即HEAD和SVN Master trunk上的内容。

什么是合适的命令?

干杯

4 个答案:

答案 0 :(得分:7)

我假设你在谈论git-svn:

$ git-svn fetch              # get the latest from svn, without merging yet
$ git diff ..remotes/git-svn # or <treeish>..remotes/git-svn

我不知道remotes/git-svn是否可以在其他地方。查看git branch -a

答案 1 :(得分:6)

git diff trunk为我工作了!

答案 2 :(得分:1)

最简单的方法是在HEADtrunk导入git仓库之间进行差异化处理。

但是如果你不能在你当前的仓库上做git svn rebase,因为你不想导入任何东西(但只看到与SVN仓库的区别),你可以将你的仓库克隆到第二个仓库,你可以在那里随时使用SVN trunk刷新其内容。

然后,您声明一个跟踪分支并在当前仓库中获取该repo2:

master/HEAD
svn_trunk    # tracks repo2/trunk/HEAD, refreshed by a git svn rebase 

你可以差异:

git diff svn_trunk..HEAD 

答案 3 :(得分:1)

我试过了:

git diff HEAD~3 HEAD

它起作用,因为我想看到3个本地提交的更改和主干上的HEAD之间的差异。

但这是正确的方法吗?虽然有用! :)