我正在使用subgit来同步我的git和SVN repos。我在SVN中更新了一个误导性的日志消息,我想在git中反映出来。我想知道这样的事情是否能解决问题:
subgit uninstall
(在服务器上停止同步)git checkout master
(在我当地)git reset --hard HEAD~5
git push -f
(将原始git repo重置回上一版本)subgit install
(将SVN更改重新同步到git)我是否在正确的位置?
答案 0 :(得分:1)
您需要重新翻译几个最新版本,包括您编辑过该邮件的版本。假设您已编辑了修订版REV和先前版本的消息
PREV = REV - 1
在这种情况下,以下命令应该有所帮助:
subgit install --rebuild-from-revision PREV path/to/git/repository
请注意,之后将更改Git SHA-1哈希值。
您建议的命令将导致新SVN修订,而不会影响现有版本。特别是git push -f
将导致分支/主干替换,这是不推荐的。更喜欢--rebuild-from-revision
解决方案。