使用github合并两个项目
近日因为有个项目刚开始没有放到github上面,而是一个人写了一些后复制了一下和另一个人共同开发,完成后需要把两个人写的项目进行合并。因为解决过程过于曲折所以总结一下。
- 在github上面创建一个远程仓库用来存放一个项目。
-
在本地建立两个文件夹备份两个项目,作为操作环境
-
使用命令对两个文件夹进行初始化
git init //初始文件 git add . //添加所有文件到缓冲区 git commit -m "[message]" //提交缓冲区数据到仓库
-
选择一个项目上传到远程仓库
-
先与远程仓库建立连接
git remote add origin [你的远程仓库地址]
-
如果你远程仓库里面有东西可已先使用git pull 或git fetch+git merge 命令进行拉取后上传,如果没有或者与本地有相似的直接使用下面名令提交。 -f :强行覆盖(此时你的电脑应改配置有与GitHub通信的密钥,若没有请自行百度)
git push -f origin master
-
-
此时一个项目已经上传到远程仓库中。我们去另一个项目的文件夹下进行操作。
- 与远程仓库建立连接
2. 新建一个分支
git checkout -b tmp //新建一个分支并切换到新建分支,tmp为分支名
3. 使用git fetch(git fetch和git pull区别详见这篇博客:https://www.cnblogs.com/jing-tian/p/11154485.html)
git fetch origin master
4. 使用git merge 进行合并
git merge origin/master
如果出现如下错误可以加上--allow-unrelated-histories
选项来解决问题(该选项可以合并两个独立启动仓库的历史)。
5. 使用 git add 和git commit 来提交改动
6. 切回主分支
7. 合并分支
- 找到红框圈到对应标识 这种标识表示其所对应的文件里面有冲突需要手动解决冲突
冲突:(把需要保留的代码整合,其他的删去)把<<<<<<< HEAD
=======
>>>>>>> origin/master
把这三个标识也要删掉。
注:除了显示的文件外,其他的文件中可能也会有冲突只不过没有显示,但如果不解决项目启动时会报错。