Flutter自定义库之三:官方库代码同步问题解决

东方盛慧科技大约 1 分钟flutterflutter

Flutter自定义库之三:官方库代码同步问题解决

flutter官方库并不能完全满足需求,需要自定义,通常在某个时间点clone了官方库并自定义后,就完全脱离了官方库原有的代码更新,不能及时的同步官方更新和升级迭代,升级维护的重任彻底落在了自己身上,这显然是不现实的,本文就是要解决此问题。

思路: 本地仓库需要跟踪两个数据源, 修改官方仓库,但是又需要及时跟踪官方仓库;

重点:

  1. flutter官方插件仓库open in new window所有的库是在一个git工程下面,应该用的git 子库的方式维护,如下图webview_flutter所示,是官方仓库的子目录,所以本地git项目只跟踪指定目录,如有需要再打开指定目录 xx
git init

# 设置允许git克隆子目录
git config core.sparsecheckout true

# 设置需要跟踪的git子目录,就增加sparse-checkout的配置,再checkout

echo packages/webview_flutter >> .git/info/sparse-checkout

# 设置远程仓库地址:
git remote add  origin git@github.com:flutter/plugins.git

# 用 pull 来拉取代码
git pull origin master

# 如果需要添加目录,就增加sparse-checkout的配置,再pull
echo packages/video_player >> .git/info/sparse-checkout

git pull origin master

git remote add koo_plugins git@git.koolearn-inc.com:android/flutter_plugins.git

# 
git fetch koo_webview_flutter

# 
git checkout -b koo_webview koo_webview_flutter/master

# 然后合并官方库master到本地分支koo_webview

# 然后提交到私有仓库 
这样私有仓库代码修改的同时也可以随时合并官方库的维护代码

// 参考地址 设置两个数据源 https://blog.csdn.net/wzp6010625/article/details/102776387open in new window

https://www.cnblogs.com/pekkle/p/9742393.htmlopen in new window

// 设置子仓库 https://segmentfault.com/q/1010000000155212open in new window

上次编辑于:
贡献者: 雷勋