我知道这是一个不幸的设置,但是我有两个Repos:
1。) 回购A 是基础回购,这是一个用作其他项目基础的项目。
2。)回购B ,我从中分叉了 回购A 并进行了修改。
同时, 回购A 获得了一些新功能和更新。
现在,我想更新 Repo B ,以接管 Repo A 的新更改和更新,但保留我的修改。>
我现在可以使用 Repo A 的最新版本从 Repo B 创建一个新分支。然后,我可以手动复制并粘贴对它的修改。
但这当然是对错误敏感的,并且需要时间。是否有一种方法可以首先识别我的提交和修改,我对 Repo B 进行了更改,然后让Git根据 Repo A 将更改合并到我新创建的分支中? / p>
我猜樱桃采摘有点乏味,因为它会经历所有提交,即使它们不是最新的。所以也许有一个差异,它显示了 Repo B 和 Repo A 到我分叉之前的差异,并有可能合并该差异?
答案 0 :(得分:2)
每个本地存储库可以有多个远程存储库。我要做的是转到本地回购B,然后将远程回购A添加为其远程存储库之一。这样做将使本地存储库B可以从远程存储库A或远程存储库B中提取更改。
git remote add <name> <clone url>
ex: git remote add RepoA https...
然后,您的本地存储库B可以从远程存储库A中提取更改。但是,您可以指定远程分支而不是源。在这种情况下,它是RepoA。
git pull <name>/<branch name>
ex: git pull RepoA/master