我克隆了一个大型SVN存储库(近8,000次提交),看起来没问题。
从那时起,大约20个Subversion提交消息的提交消息已被更改以纠正错误。这是合法的。但是,git svn fetch不会提取更新的提交消息。它仍然显示旧的过时提交消息。
有没有办法解决这个问题?最好是以干净的方式,而不是太多地攻击我的本地git存储库?
我已经尝试过git svn fetch -r 1234(其中1234是已知的修订号)。但没有运气。
答案 0 :(得分:1)
来自http://git-scm.com/docs/git-svn:
git svn reset
取消获取指定修订的效果。这允许 您需要重新获取SVN版本。
[...]
使用fetch然后git跟随reset 重置或git rebase移动本地 分支到新树上。
因此,在您的情况下,如果修订版1234是第一个更改了提交消息的修订版,那么您可以
$ git svn reset -p 1234
$ git svn fetch
如果有任何不同之处,包括提交消息,那么新提交是一个完全不同的对象,带有一个新的SHA1,正如它所说,你需要将你可能拥有的任何分支重新绑定到适当的重写提交上。