git fork的使用

背景 

公司有2个app,名字就叫x,y,使用同一套后端(单体php应用,非微服务),因为2个app没啥区别,更多的是内容分类和前端的区别,当然数据也是互通的。

然而最近因为想实验一些东西在y上,但是怕影响x,所以决定把y的后端独立出来,这也很简单,独立些服务器出来, 然后申请个新域名,y的前端把流量灰度

切到新域名上即可(既然独立运营了,后续db也是肯定要分开的,独立web应用是第一步)。代码是同一套,那么代码怎么管理,如果还在同一个仓库上使用,

那么早晚会互相影响,我上了针对y的逻辑,那么x可能会受影响的。所以代码也独立出来,但是涉及到公共的修改,可能x的后端改了些公共部分,y的后端也

得改,但是x改了,那么y可不可以直接更新下代码就行呢? 或者y修改了,x也更新下就行了呢。基于这个场景使用了git的fork

流程

1.在我司的gitlab上找到对应的项目,然后点击fork,然后选择一个新的group,那么就完成了一个项目的fork

2.git clone  git@www.cn:y/back-end/y.git(fork出来的项目)

3. git remote -vv  查看远程关联
origin  git@www.cn:y/back-end/y.git (fetch)
origin  gi@www.cn:y/back-end/y.git (push)

4.与原仓库x建立upstream

git remote add upstream  git@www.cn:x/back-end/x.git

5.再次验证关联 git remote -vv

origin  git@www.cn:y/back-end/y.git(fetch)
origin  git@www.cn:y/back-end/y.git (push)
upstream        git@www.cn:x/back-end/x.git (fetch)
upstream        git@www.cn:x/back-end/x.git (push)

这样就可以了。

6.同步原x仓库的更改

git fetch upstream
> remote: Counting objects: 75, done.
> remote: Compressing objects: 100% (53/53), done.
> remote: Total 62 (delta 27), reused 44 (delta 9)
> Unpacking objects: 100% (62/62), done.
> From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
>  * [new branch]      main     -> upstream/main

会显示出分支的信息,这里我们以main分支为例子

切换到main分支

  1. $ git checkout main
    > Switched to branch 'main'

和原仓库的main分支合并

git merge upstream/main

如果有更改的话,那么会提示

> Updating a422352..5fdff0f
> Fast-forward
>  README                    |    9 -------
>  README.md                 |    7 ++++++
>  2 files changed, 7 insertions(+), 9 deletions(-)
>  delete mode 100644 README
>  create mode 100644 README.md

如果没有更新的话,提示如下

> Updating 34e91da..16c56ad
> Fast-forward
>  README.md                 |    5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)

这样我们本地的main就把原仓库的main分支新push的代码更新了。还有最后一步,更新新仓库y的远程分支man

git  push origin main 

这下就完成了,可以看到2个仓库的main分支的代码一样了。

 

 

 

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小卒曹阿瞒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值