从愚蠢的git-svn合并中恢复历史

时间:2010-06-09 00:08:47

标签: git git-svn

球员:

master:svn分支(实际的,不是本地的trackign) mybranch:一个本地分支

我的错误:

[master] git svn rebase
[master] git merge mybranch
[master] git svn dcommit

我做了两次

有没有办法可以解决所有这些问题?我想的是:

  1. git checkout --hard [合并前提交]
  2. git dcommit #s to svn?
  3. git rebase mybranch
  4. git dcommit
  5. 但这似乎不起作用。

    (我知道我应该在本地跟踪分支机构工作,而b。已经重新定位而不是合并)

    我疯狂/愿意将啤酒送到受访者阶段:)

1 个答案:

答案 0 :(得分:1)

由于SVN方面的重写历史很难,为什么不试着提交一个新的提交,它有效地取消了之前你曾经提交过两次的提交?

git log # grab the commit hash you want to revert
git revert <commit hash>
git svn dcommit

git revert

  

给定一个现有提交,恢复补丁引入的更改,并记录一个记录它的新提交。