怎么合并两个分离库的git commit

在项目开发的过程中总是遇到一些需要将其它代码库中的一些修改合并到当前项目的代码库上的情况。
假如本地有两个代码库,分别指向服务器上的不同代码库,需要将本地的代码库1中的一些修改合并到代码库2,这个时候可以按照以下方式进行
库1:AndroidM_3561
库2:AndroidM_3561_after

zhaojr@zhaojr-OptiPlex-7040:~/project$ ls
AndroidM_3561
AndroidM_3561_after


1、将本地的AndroidM_3561库作为远程库添加到本地的AndroidM_3561_after库中,取名为other,如下:
zhaojr@zhaojr-OptiPlex-7040:~/project/AndroidM_3561_after$ git remote add other ./AndroidM_3561
2、将已经添加的远程AndroidM_3561抓取数据到本地的AndroidM_3561_after库中
zhaojr@zhaojr-OptiPlex-7040:~/project/AndroidM_3561_after$ git fetch other

zhaojr@zhaojr-OptiPlex-7040:~/project/AndroidM_3561_after$ git branch -a
* Devlopment
  master
  remotes/origin/Devlopment
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/other/Development
  remotes/other/master

3、将AndroidM_3561仓库抓去的Development分支作为新分支checkout到本地,新分支名设定为other_Development
zhaojr@zhaojr-OptiPlex-7040:~/project/AndroidM_3561_after$ git checkout -b other_Development other/Development

zhaojr@zhaojr-OptiPlex-7040:~/project/AndroidM_3561_after$ git checkout -b other_Development other/Development
zhaojr@zhaojr-OptiPlex-7040:~/project/AndroidM_3561_after$ git branch -a
* other_Development
  master
  Devlopment
  remotes/origin/Devlopment
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/other/Development
  remotes/other/master

zhaojr@zhaojr-OptiPlex-7040:~/project/AndroidM_3561_after$ git checkout Development
Switched to branch 'Development'

4、切换回AndroidM_3561_after的Development分支
zhaojr@zhaojr-OptiPlex-7040:~/project/AndroidM_3561_after$ git checkout Development
Switched to branch 'Development'

zhaojr@zhaojr-OptiPlex-7040:~/project/AndroidM_3561_after$ git branch -a
* Devlopment
  master
  other_Development
  remotes/origin/Devlopment
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/other/Development
  remotes/other/master

5、将AndroidM_3561库Development分支的修改合并入AndroidM_3561_after的Development分支
zhaojr@zhaojr-OptiPlex-7040:~/project/AndroidM_3561_after$ git merage  other_Development 或者使用 git cherry-piack xxxxxxx(commit ID)一个个commit合并

说明:
git cherry-piack xxxxxxx(commit ID)
这个是针对单独的commit ID进行合并的。

如果想把库1:AndroidM_3561库中修改的所有commit合并到AndroidM_3561_after,并且保留所有修改的commit日志,那么就使用git cherry-piack xxxxxxx(commit ID) 一个个合并,这样就可以保留库1:AndroidM_3561库中的每个上传的commit,同时可以只合并库1:AndroidM_3561库中一部分commit,不需要全部合并。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值