【发布时间】:2010-02-10 06:16:03
【问题描述】:
我想在本地提交的更改和 SVN 提交的最后更改之间进行差异。即 HEAD 和 SVN 主干上的内容。
什么是合适的命令?
干杯
【问题讨论】:
我想在本地提交的更改和 SVN 提交的最后更改之间进行差异。即 HEAD 和 SVN 主干上的内容。
什么是合适的命令?
干杯
【问题讨论】:
我假设你说的是 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联系。
【讨论】:
git diff trunk 为我工作!
【讨论】:
最简单的方法是在 HEAD 和将 trunk 导入到 git repo 之间进行区分。
但是,如果您因为不想导入任何东西而无法在当前存储库上执行git svn rebase(但只能看到与 SVN 存储库的区别),您可以将您的存储库克隆到第二个存储库中,您可以在任何地方立即使用 SVN trunk 刷新其内容。
然后你声明一个跟踪分支并在你当前的 repo 中获取 repo2:
master/HEAD
svn_trunk # tracks repo2/trunk/HEAD, refreshed by a git svn rebase
你可以区分:
git diff svn_trunk..HEAD
【讨论】:
我试过了:
git diff HEAD~3 HEAD
它起作用了,因为我想查看 3 个本地提交的更改和主干上的 HEAD 之间的差异。
但这是正确的方法吗?它虽然有效! :)
【讨论】:
HEAD~3,那么是的。应该和git diff HEAD~3..一样