0

我正在使用 subgit 来同步我的 git 和 SVN 存储库。我在 SVN 中更新了一条误导性的日志消息,我希望它反映在 git 中。我想知道这样的事情是否可以解决问题:

  • subgit uninstall(在服务器上停止同步)
  • git checkout master(在我的本地)
  • git reset --hard HEAD~5
  • git push -f(将原始 git repo 重置为以前的版本)
  • subgit install(将 SVN 更改重新同步到 git)

我在正确的路线上吗?

4

1 回答 1

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解决方案。

于 2018-04-19T09:44:32.527 回答