【git】合并git仓库

合并git仓库

背景: 我和女票分别维护着一份PAT题解相关的repository, 区别是她使用的是JS代码,我使用的是Java(偶尔会用C/C++、python等)(PS:欢迎使用各种语言的各路大佬加入我们的repo)。后来我们一拍即合,决定合成一个repository。

pat
想法是这样的,我fork她的repository,commit & push我的代码后,再发起pull request交由她处理,并合入她的repository的主分支。那么问题来了,我确实可以复制粘贴我的代码,然后提交后发起pull request。但是这样做的话,我之前的commit记录都会消失。我更希望能够保留我的commit记录

fork

1 导入旧仓库的git记录

一般情况下只需要像上图描述的步骤进行就行了。如果要保留旧仓库的commit记录,那就需要在2、3两步之间多加一些步骤。

1.1 将源地址设置为旧仓库的地址

git remote set-url origin https://raw.githubusercontent.com/relish-wang/PAT.git

1.2 拉取代码,解决冲突并合并

直接git pull的话,会出现这样的错误:拒绝合并无关的历史记录。这是为什么呢?因为一般来说一个git仓库的起源肯定是一个点。而这次合并会产生两个起源点(一个是我的旧仓库的master的起源点,另一个是她的旧仓库的master分支的起源点)。
merge
这就用到了下面这个命令: 允许合并无关的历史记录

git pull origin master –allow-unrelated-histories

合并后的git记录树:
gitmerge

然后就可以发起pull request了。

newflow

2 用Intellij IDEA打开项目,并运行Java文件

上述步骤完成后,意外地发现IDEA无法识别这个项目里的java文件了。
red
而能运行的java文件长这样:
green

2.1 修改项目配置

使用快捷键Command+;打开。下图是正确的配置。
javaconfig
修改后发现,仍未解决问题。

2.2 修改moudle配置

安装下面如图所示的步骤操作后,就完成了!

step1
step2
step3
step4

3 最后说几句

欢迎使用各种语言的各路大佬加入我们的repo。
项目地址:http://github.com/taryn2016/coding

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/R3lish/article/details/79557298
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭