fork一个开源仓库,然后二次开发,并能跟开源更新保持一致

近日想在一个开源的项目上做一些二次开发,同时该开源项目也一直在迭代,那么如何保持跟它同步同时又保留自己的改动呢。简单说来有如下几步:

1.fork开源项目到自己的仓库,比如从
github.com/abc/cherry => github.com/dhl/cherry
然后clone 
git clone https://github.com/dhl/cherry
2.接下来cd到自己的仓库,开始如下操作
cd cherry
git checkout -b dev    #默认是master,master里永远跟开源的保持一致
git pull
git checkout master   #切回master,做更新
git remote add upstream https://github.com/abc/cherry.git  #设置upstream开源仓库.
git fetch upstream master #拉取开源的仓库upstream的master到本地
git merge upstream/master  #合并到本地master
git checkout dev  #切换到dev
git rebase master  #把刚刚拉取的更新merge到dev分支

如果自己fork之后只有一个目录,可以如下操作:

1.fork开源项目到自己的仓库,比如从
github.com/abc/cherry => github.com/dhl/cherry
然后clone 
git clone https://github.com/dhl/cherry
2.接下来cd到自己的仓库,开始如下操作
cd cherry
git pull
git remote add upstream https://github.com/abc/cherry.git  #设置upstream开源仓库.
git fetch upstream  master #拉取开源的仓库upstream的master到本地的master
git merge upstream/master
#git rebase upstream/master  #把刚刚拉取的更新merge到dev分支

其它:
备注一下如果这个时候编译自己仓库的代码,并且希望引用的也是自己的代码的方法

#在go.mod中把引用的包路径通过replace替换为自己的
replace(
	github.com/abc/cherry => github.com/dhl/cherry
)

同时自己本地的部署路径不需要改,还应该是
/xxxx/go/src/github.com/abc/cherry #但是里面的代码仓库可以是自己的

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值