0


使用git合并两个不同项目代码

使用git合并两个不同项目代码

前言, 这里解决的是两个不同的项目, 因为不同项目那必然是两个不同的git仓库

都是不同的git仓库了那就更不可能是相同的分支了(即使分支名相同)

至于为什么会有这种业务情况出现, 我也不知道, 反正先学干就完了

这里图形化界面演示用的是idea自带的git插件, 因为不是git命令行高级玩家, 所以有部分操作配合idea自带git插件尽享完成, 想学命令行操作可以据根据具体需求进行百度

文章目录

一. 两个不同项目 -> 以及明确目的

  • 首先我们要有两个不同的项目分别是项目A和项目B, 且项目B不是从项目A中fork出来的(本鸟git底层逻辑不是很吊所以fork的是否可行, 我还没有尝试, 从理论知识上来说我是未知的)这里我们假设- 项目A是码云上的ruoyi项目(https://gitee.com/y_project/RuoYi)- 项目B是码云上的小诺项目(https://gitee.com/xiaonuobase/snowy-layui)\
  • 目的我们的目的是将小诺和ruoyi进行合并

二. clone代码

  • 首先我们先克隆一下ruoyi的代码, 这里用命令行展示, 因为idea的话需要截图, 比较懒的截图git clone {git仓库地址}``````# 命令行git clone https://gitee.com/y_project/RuoYi.git# 输出日志Cloning into 'RuoYi'...remote: Enumerating objects: 28848, done.remote: Counting objects: 100% (285/285), done.remote: Compressing objects: 100% (202/202), done.remote: Total 28848(delta 69), reused 32(delta 4), pack-reused 28563Receiving objects: 100% (28848/28848), 11.10 MiB |1.58 MiB/s, done.Resolving deltas: 100% (13759/13759), done.
  • 打开idea对应文件夹我们可以看到代码已经在了在这里插入图片描述
  • 接下来我吧我们的小诺的项目添加到我的这个远程仓库的remote中命令行git remote add {你命名的新remote名字} {git仓库地址}``````git remote add xiaonuo https://gitee.com/xiaonuobase/snowy-layui.git
  • 这个是没有对应日志的所以我们怎么查看成功了呢? -> 使用fetch命令git fetch {remote}/{branch}这里我不需要刷新具体的branch我就都刷新了# 命令行git fetch xiaonuo# 日志remote: Enumerating objects: 10303, done.remote: Counting objects: 100% (108/108), done.remote: Compressing objects: 100% (77/77), done.remote: Total 10303(delta 29), reused 0(delta 0), pack-reused 10195Receiving objects: 100% (10303/10303), 130.71 MiB |6.84 MiB/s, done.Resolving deltas: 100% (5387/5387), done.From https://gitee.com/xiaonuobase/snowy-layui* [new branch] master -> xiaonuo/master
  • 查看图形化界面, 可以看到已经出现了[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9dxsy9ut-1675240699780)(./使用git合并两个不同项目代码.assets/image-20230201160939401.png)]

三. 合并

  • 这里使用git merge {remote}/{branch} --allow-unrelated-histories命令其中这里的--allow-unrelated-histories该命令可以合并不相关的分支。除非存在文件冲突,否则它可以无缝运行。如果发现冲突,别无选择,只能使用更长的解决方案。# 命令行git merge xiaonuo/master --allow-unrelated-histories# 日志Auto-merging .gitignoreCONFLICT (add/add): Merge conflict in .gitignoreAuto-merging LICENSECONFLICT (add/add): Merge conflict in LICENSEAuto-merging README.mdCONFLICT (add/add): Merge conflict in README.mdAuto-merging pom.xmlCONFLICT (add/add): Merge conflict in pom.xmlAutomatic merge failed; fix conflicts and then commit the result.
  • 这里我们去git插件中查看可以发现, 是有一些冲突文件的需要在我们commit之前进行解决在这里插入图片描述
  • 解决完成之后我们就可以进行提交了, 这里我提交的比较多可能有点慢因为我勾选了analyzing code在这里插入图片描述
  • 这里是是分析检测到了一些代码上的error和warning, 我这里不是重点, 没刷新maven正常直接commit anyway在这里插入图片描述
  • 提示提交成功在这里插入图片描述
  • 查看git图形化界面可以看到我们对应的提交记录在这里插入图片描述
  • 然后就可以push了后续我就不演示了, 因为我是直接拉的ruoyi的仓库, 本菜鸟不是ruoyi的commiter, 所以没有push权限
  • 当然也要记得合并完成之后要把没用的Remote删除掉, 以及垃圾分支, 本鸟精神洁癖
标签: git github

本文转载自: https://blog.csdn.net/weixin_43194885/article/details/128836618
版权归原作者 社畜阿藏405 所有, 如有侵权,请联系我们删除。

“使用git合并两个不同项目代码”的评论:

还没有评论