从不同的代码库拉取一个分支

25

我当前的代码库中有几个文件,我想要合并一个来自不同代码库的远程分支。

  1. github.com/username/code.git(分支loader)中拉取并合并分支
  2. 然后再从github.com/username/code.git(分支login)中拉取并合并分支

这种操作是否可行?如果可以,那么有什么解决方法?我想要在我的当前分支中继续添加来自不同远程分支的代码。


5
有人能否更正我的错误,而不是用负面投票的方式? - user689751
是的,这是可能的。一个仓库可以定义多个远程仓库,你可以推送、拉取等操作到任何一个远程仓库。git help remote 可以指导你添加额外的远程仓库。 - twalberg
4个回答

30

你可以使用以下方法为你的代码库添加其他来源:

git remote add new_origin git@theUrlToRepo

现在你可以开始推送/拉取并基本上对你的两个远程仓库进行所有操作。

git push origin master
git push new_origin master

git pull origin master
git pull new_origin master

你只需要指定你正在进行操作的远程仓库,然后就可以开始了。

在你的具体使用场景中,添加远程仓库并对其命名之后,你可以执行以下操作将远程分支合并到本地工作区中。

git merge origin/loader
git merge new_origin/login

通过 git merge origin/loader,您是将远程 loader 与本地 master/当前分支合并,对吗? - user689751
是的,这就是它所做的。 - SpiXel

14

您也可以这样做

git pull <git_pull_url> <branch> --allow-unrelated-histories

兄弟,你的回答救了我的命,谢谢。 我在寻找这个答案,在这里找到了它。 - MD Nasirul Islam

7
你可以直接执行以下命令:
git pull url branch
它就能生效了。

6

请从您想要将新代码合并到的原始代码库中执行此操作:

对于我来说,我首先创建了一个同名的新分支:

git checkout -b my_new_branch

然后我添加了另一个来源:

git remote add new_origin http://someRepo.git

然后,我只需将 new_origin 分支拉取到我的当前仓库中:
git pull new_origin my_new_branch 

git pull命令应该为您执行获取和合并操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接