## 前言 * 大家在使用框架的时候,时常会加入diy的功能,奈何想与官方的主分支同步更新,碰到了种种问题 * 本章节来讲述如何在diy的同时可以远程合并官方的主分支进行同步更新 * 以下教程都必须在不改包名不改结构的情况下操作 * 建议大家先不改包名,等到项目上线前半个月再着手修改,否则同步更新会非常耗时 * 注意:截图中的商业版操作仅作为参考,大家请根据实际情况自行更换,开源版逻辑同样可用 ## 操作流程 1. 首先先创建一个自己的项目或者fork一下官方的项目,得到一个新的git项目 ![](https://box.kancloud.cn/3ff07b30e1dd30356585fda3b2e468f4_2244x1650.png) 2. 复制地址,导入fork后的工程 ![](https://box.kancloud.cn/d3800cb945c993e225c73ee5f52e2846_882x1284.png) 3. 复制官方地址,打开Terminal,执行命令 `// 将官方项目的git地址,添加至本地的remote` `git remote add upstream https://gitee.ltd/blade/BladeX-Tool.git ` ![](https://box.kancloud.cn/50bdf460999974ff9d19b997cbf85bee_1506x1466.png) 4. 为保险起见,同步官方的dev分支,确认无误后再推送至master主分支 `// 本地创建dev分支` ` git checkout -b dev` ![](https://box.kancloud.cn/4ce43d704dc4c306dab91c5a78a85eb7_1394x256.png) 5. 同步官方分支 `// 拉取远程官方dev分支到本地dev分支` `git pull upstream dev` ![](https://box.kancloud.cn/4f3a59655e1cc0f2cd8c9783107c7535_1390x458.png) 6. 打开idea,发现官方的远程分支已经出现在右下角 ![](https://box.kancloud.cn/a571a7f8ea2ac32d2b74d07eacf2bc83_586x590.png) 7. 作者推送commit至官方dev分支,模拟有新的更新 8. 打开本地fork工程,再次执行`git pull upstream dev`,发现远程文件已经更新 ![](https://box.kancloud.cn/75ce0e0ad8b8783586956175aa9386d8_1410x500.png) 9. 执行` git push origin dev `,发现已经推送成功 ![](https://box.kancloud.cn/5b5c75511c15a765bea64246dd69ef39_862x336.png) 10. 打开web端dev分支的最新commit记录,发现显示的文件正好是刚刚控制台打印出来的文件 ![](https://box.kancloud.cn/d3407c1ccfd82ee8a3a534393bf2969c_2184x1646.png) 11. 到这里,我们就可以很轻松的与官方分支实时同步更新了,但是切记不要改包名或者结构!~