Version control 从git SVN恢复中央SVN回购

Version control 从git SVN恢复中央SVN回购,version-control,git-svn,Version Control,Git Svn,基本上,我想,有点像这样: svn update svn merge -r 150:140 . svn commit -m "Rolled back to r140" 但是我使用的是gitsvn,似乎找不到一个等价物 我尝试在一个新分支上本地设置所有内容,方法是签出一个早期的提交,它是trunk的祖先(中央回购的当前提交)。我做了一些额外的更改,现在我无法git svn rebase或git svn dcommit而不从svn得到一个错误 我尝试在不做额外更改的情况下检查相同的提交,然后运行g

基本上,我想,有点像这样:

svn update
svn merge -r 150:140 .
svn commit -m "Rolled back to r140"
但是我使用的是
gitsvn
,似乎找不到一个等价物

我尝试在一个新分支上本地设置所有内容,方法是签出一个早期的提交,它是
trunk
的祖先(中央回购的当前提交)。我做了一些额外的更改,现在我无法
git svn rebase
git svn dcommit
而不从svn得到一个错误

我尝试在不做额外更改的情况下检查相同的提交,然后运行
git svn dcommit
,这表示它正在提交中央回购协议,但实际上似乎没有做任何事情


如何返回到以前的提交,然后开始进行新的更改?

您的任务基本上是将git头部重置为r140状态,但以一种允许直接提交git svn dcommit的方式

一种方法是:

# checkout git revision of the desired state
git svn find-rev r140 | xargs git checkout

# reset HEAD to the revision 150, assuming it was the latest svn commit in trunk 
git reset trunk
git add -u
git commit -m "Rolled back to r140"
git svn dcommit
你们也可以看一看这条线