情况就是这样。
我需要告知我的回购(B)现在我们可以从现在开始从C开始?有没有什么好方法可以做到这一点?我看了一下图,但发现它很混乱。
提前感谢您的帮助
答案 0 :(得分:3)
你可以将两个遥控器保存在你的存储库中,只是你的仓库中有两个独立的分支:git-svn旧分支和新分支(因为新的分支不会与git匹配 - svn one)。
你将能够在它们之间进行区分,推送和拉动到C,并在其上重新定义当前的分支。
只需更改远程网址并获取它:
git remote set-url origin <new-url>
git fetch origin
您还希望使用标记跟踪最后一个SVN头部。
答案 1 :(得分:2)
您可以尝试:
git remote add neworigin /path/to/origin
git fetch neworigin
git checkout -b newmaster neworigin/master
git checkout master
git rebase newmaster
git branch --set-upstream master neworigin/master
我之前没有尝试过这种情况,并且没有任何简单的方法来测试它,但似乎这应该有效。如果你到达那一点并且一切顺利,你可以移除旧的遥控器并做一些像这样的保持(假设旧的遥控器被命名为“原点”):
git remote rm origin
git remote rename neworigin origin
鉴于这是未经测试的,可能值得在一次性分支或本地回购的副本上尝试此操作。