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分支
$ 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分支的代码一样了。
git fork的使用相关推荐
- git fork操作
Git fork操作 文章目录 Git fork操作 一.背景 二.概念 1.与git clone的区别? 2.用法流程 三.实操 1. fork仓库 2. 分支创建与提交 一.背景 最近我在gith ...
- git fork clone 区别_Working with Git | Git 与 GitHub
关于 各位好,这里是 China's Prices Project 项目的知乎专栏.关于 CPP 项目,您可以在这篇文章里了解到更多的信息.若您对这个项目感兴趣,我们非常欢迎您与我们交流您的想法与见解 ...
- git fork clone 区别_我的Git笔记
每次用到git,总会遇到一些问题,所以写这篇文章记录一下. fork 等fork完之后,你可以在自己的仓库中看到同名的项目,URL的形式:https://github.com/your_name/re ...
- git fork 远端仓库协作开发
背景:最近需要用一个大型开源项目作为项目起点,和之后自己开发的部分提交到另一个私有库,同时需要和开源项目保持更新同步. 搜寻查证:大部分都是说的把项目备份到多个远端库,而我需要从一个开源库拉取代码,合 ...
- Git fork指令
ork并且更新一个仓库 现在有这样一种情形:有一个叫做Joe的程序猿写了一个游戏程序,而你可能要去改进它.并且Joe将他的代码放在了GitHub仓库上.下面是你要做的事情: fork并且更新GitH ...
- git fork代码保持与原代码同步
1.先添加 remote 源 git remote add remote_origin git@github.com:***/***.git 2.获取原始仓库分支和对应的提交 git fetch re ...
- Git——fork远程库的下载和上传。
目录 0.前言 1.Git安装 2.Ubuntu下使用 2.1 前期准备 2.2 Ubuntu操作指南 2.2.1初始化本地仓库 2.2.2添加远程库 2.2.3 同步远程库(下载) 2.2.4上传 ...
- Git clone 与 Git Fork 的不同(Difference between Git Clone and Git Fork)
Forking 与 Cloning 的主要区别 当你fork一个仓库的时候,你创建了一个原来仓库的副本,并且保留在你的GitHub账号里,但是clone是将仓库下载到本地. Forking is do ...
- Git客户端Fork使用
前言:在使用 Git 版本控制工具以后,一直使用的是客户端 Gitkraken(主要是不想记那么多git命令,而且客户端可视化用起来更爽).但是它最近更新后开始收费了,而且还没办法阻止它更新.没办法, ...
最新文章
- mysql大数据优化要注意的细节
- android 滚动条自定义样式,IScroll的使用-方向键绑定自定义滚动条样式
- http_build_query()就是将一个数组转换成url 问号?后面的参数字符串,并且会自动进行urlencode处理,及它的逆向函数...
- Mac给Sublime Text 配置Python3开发环境
- send和sendmsg性能测试
- 【渝粤题库】陕西师范大学800003 中国地理
- Java - HashMap源码解析
- eXeScope 提取.exe/.dll中的图片资源
- python如何运行js代码
- 数仓4.0之即席查询
- 读《JOINT AND ADVERSARIAL TRAINING WITH ASR FOR EXPRESSIVE SPEECH SYNTHESIS》
- You should consider either expiring and/or testing connection validity before use in your applicat
- 明日之后 找不到服务器,《明日之后》无法连接服务器怎么解决 服务器无法连接解决方法...
- 写一个函数,实现 n 的阶乘
- [网易]2018校园招聘编程题真题集合
- 公司网络机房搭建,信息化目标,网络故障处理办法
- 计算机专业如何晋级正高级,已有软考高级证书如何获得正高级职称?
- CPU架构:CPU架构详细介绍
- Object-C基础之初始化方法(init)
- WIN10 无法连接 WIN7 共享的打印机的方法