如何使用svn树重新同步git?

时间:2010-03-29 12:44:29

标签: svn git git-svn rebase git-rebase

背景

我正在为使用subversion的项目添加一些功能 - 我正在使用git-svn将其克隆到我的本地存储库,git-svn rebase以保持官方主干中最近的更改并保持历史线性。

最近我忘记了自己并做了几次合并,这让我的变相变得混乱 - 长话短说我需要花一些时间用樱桃挑选来使历史再次线性化。在那之后,1个rebase正常,但是现在试图制作git-svn rebase显示了2008年的颠覆提交之间的冲突(大约700个提交回来),尽管历史似乎是线性的。

问题

  1. 有没有办法用svn trunk重建/重新同步我的git存储库?
  2. 如果我在另一台计算机上克隆我的git存储库(没有.git / svn文件夹) - 是否可以使用svn对其进行rebase,知道repo url和last rebased revision?

1 个答案:

答案 0 :(得分:2)

您可以将分支重置为明确同步的提交(旧的分支),然后执行rebase同步。

要保存在本地进行的更改,您可能需要先分支(然后从这个新分支中挑选必要的更改)

git branch branch_with_my_changes
git reset --hard very_old_commit_that_is_synced
git svn rebase