环境:
1. 本地是空的,什么都没有
2. 有2个不同的项目(工程),在远端git上
3. 需要在本地合并这2个项目
开工:
1. 从远端clone第一个工程的代码下来,并切换到你要合并的分支上。
git clone [email protected]/project_1.git //这个操作会在本地建一个project_1的文件夹,里面就是项目1的代码。 cd project_1 git checkout project_1_v1 //这个操作会把代码切换到project_1_v1分支上。
2. 从远端clone第二个工程的代码下来,并切换到你要合并的分支上。
git clone [email protected]/project_2.git //这个操作会在本地建一个project_2的文件夹,里面就是项目2的代码。 cd project_2 git checkout project_2_v1 //这个操作会把代码切换到project_2_v1分支上。
3. 如果我们站在project_1的角度,想把project_2的代码合并进入project_1。所以,我们进入project_1
cd project_1
4. 将project_2作为远程仓库,添加到project_1中,设置别名为other
git remote add other ../project_2/
5. 从project_2仓库中抓取数据到本仓库
git fetch other
6. 将从project_2仓库抓取过来的project_2_v1分支作为新分支checkout到本地,新分支名设定为project_1_v2
git checkout -b project_1_v2 other/project_2_v1
7. 现在我们站在project_1_v1的角度,想把project_1_v2合并到project_1_v1中去(因为project_1_v2是由project_2来的),所以,我们要切换到project_1_v1分支。
git checkout project_1_v1
8. 将project_1_v2分支合并入project_1_v1分支中去。
git merge project_1_v2
如果此时有冲突,需要解决冲突,解决冲突后就可以push到服务器上了。
时间: 2024-11-03 22:25:46