Cherry从一个Repo摘到另一个



我有两个存储库Repo1和Repo2。我在Repo1中有几个新分支机构应该转移到Repo2。我如何cherry-pick这些分支(以及其中的所有提交(并将其移动到第二个repo?

到目前为止,我已经完成了:

git remote add repo2 https://...repo1.git  
git fetch other

它列出了Repo1中创建的所有分支。但我不知道如何才能精心挑选这些树枝并推出Repo2。

Ps。我不能做git remote,因为这会引起很多冲突,因为两个存储库中的数据都有一些差异。

首先,您获取的不是git fetch other,而是。

cd /path/to/repo2
git remote add repo1 https://...repo1.git  
git fetch repo1

换句话说,您将在目标repo(repo2(的本地克隆中工作,而不是在repo1中。

其次,它应该用git branch -avv列出所有分支
但是,由于repo1和2没有共同的历史记录,因此将由您确定repo1分支的开始(或者它将考虑分支一直提交到第一个repo1提交:在repo1中没有所述分支开始的共同分支(

如果你认为repo1分支可以应用于现有的repo2历史,你可以:

  • repo1/aBranchToMove创建新的分支
  • rebase --onto将repo1分支(打开(连接到现有的repo2分支

即:

cd /path/to/repo2
git switch -c newBranch repo1/branch
git rebase --onto main <first-Commit>~ newBranch

这将重新定位提交,从<first-Commit>(您需要在repo1中查找(到newBranch(它引用了repo1分支HEAD,您想仔细挑选(到现有的repo2分支(例如,此处为"main"(

相关内容

  • 没有找到相关文章

最新更新