无远端git项目合并

发表于:2021-05-27 20:58git热度:99喜欢:0

今有需求,想要在没有git远端的情况下合并两个项目的两个分支

情况如下:
先有的A项目a分支,从A项目复制文件夹,为B项目,仍保留a分支,在B项目内切出分支b,并在分支上进行了一些改动
A项目的a分支内做了较大更新,想要同步到B项目来
之前也是通常的做法是把A项目推动到远端,B项目把A项目的a分支合并到B项目的b分支

现情况是没有远端分支,无法把a分支推送到远端
有没有办法直接把A项目的a分支合并到B项目的b分支,并且保留a,b分支的commit记录

查阅相关资料
[https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%90%AD%E5%BB%BA-Git]

其原理是,git的一系列指令,不区分远端还是本地,只是指定文件夹目录的.git文件,这才是重点
git远端服务器也只是存储了.git文件而已

首先是A项目切换到a分支,然后是在项目B下面,切换到a分支
然后在B项目下执行命令

cd /home/user/A
git checkout a

cd /home/user/B
git checkout a 

# A项目所在git文件目录
git pull  /home/user/A.git

这样就可以实现需求