同源的fork项目有历史记录这里就不在记录了可以看:关于如何同步更新开源项目-CSDN博客
不同源这里拿狮子大佬的RuoYi-plus项目为例
1. 增加源仓库
需要刷新一下才会显示,如果没有提交记录空项目也不会显示需要用命令操作
2. 创建临时分支dev ,先不要勾选checkout,待会看哪个分支修改多再做选择
ps:不同的代码提交到不同的分支,最好是建两个项目,在同一个项目如果相同代码,相同目录会乱套
3. 内容合并
- 将开源项目rebase到自己项目中,这种方式需要你逐一处理每一个commit,如果commit非常多,那可能会吐血
- 自己本地修改内容少的话,可以反向操作,将自己的项目rebase到开源项目中,这样相对来说更轻松
- 通过直接比较分支和本地工作树的差异,逐个文件对比,手动修改更新
推荐:将改动少的设置为checkout然后将修改内容少的rebase到多的里
例如:开源项目的提交多,将本地分支设置为checkout,然后选择开源临时分支右键rebase
需要解决冲突,会弹出提示
合并完成后,然后删除临时分支就行
4. 接下来需要pull和push,但是因为历史记录不同需要解决,有两种方案
pull命令 = fetch+merge
- 提交到一个新建的分支,删除原来你的分支(多人不适用,除非其他人也换分支)
- pull 更新你原来的分支,但是因为历史记录不同需要解决
第一种:直接新建一个分支,push上去即可
第二种:因为你的原本仓库没有开源仓库的更新历史,所以必须先merge 合并一下,不然没法push文章来源:https://www.toymoban.com/news/detail-763739.html
# 需要添加允许不同仓库合并历史记录
git merge master origin/master --allow-unrelated-histories
5. 同步更新之后开源项目更新,直接选择merge更新即可
文章来源地址https://www.toymoban.com/news/detail-763739.html
到了这里,关于Git不同源如何更新源仓库分支的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!