git将已有仓库与其他仓库合并

上期讲了如何复制别人的仓库,前提条件是新仓库没有任何文件,即是一个空的仓库。今天讲讲如何将自己已经用的仓库合并到别人已使用的仓库中去。

假设a为自己仓库,b为测试仓库。现要将a仓库的代码推到b仓库去。有两种方法:第一将a的代码推到b上,第二从b拉取a的代码。这就涉及到如何建立远程仓库的连接。

一、将a代码推到b中

1、在a仓库建立与b仓库的远程连接

---> git remote add res_b(b仓库的别名)  xxx.git(b仓库的代码地址)

此刻我们可以用git config -l来查看,这样我们就链接了两个远程仓库,a仓库的远程仓库名叫origin,b仓库的远程仓库名叫res_b。

2、将a仓库代码推到b仓库中

--->git push res_b master:dev

将a仓库master上的代码推到远程res_b仓库dev(新分支)上

3、在b仓库拉取刚推过来的代码

--->git pull 

--->git checkout dev

拉取所有并跳转到dev上。需要注意的是:此刻建立的是dev与远程res_b/dev的链接。

若仓库a的代码没有推到远程origin/master上,那么master分支的代码是不会推到res_b仓库中的。


二、从b仓库拉取a仓库的代码

1、在b仓库建立与a仓库的连接

--->git remote add res_a(a仓库别名)  xxx.git(a仓库地址)

2、下载a仓库代码

--->git fetch res_a

3、新建分支,并与远程仓库分支关联起来

--->git checkout -b dev(新分支)   res_a/master

此刻新建的分支并会跳转到该分支,该分支此刻也连接着origin/dev这个远程分支

4、跳转到要合并的分支

---> git checkout master

---> git merge dev(新分支)

此时会遇到非关联关系拒绝合并问题,在后面加上--allow-unrelated-histories来解决。

---> git merge dev --allow-unrelated-histories

如有文章有问题,欢迎留言告知

你可能感兴趣的:(git将已有仓库与其他仓库合并)