[转]Github进行fork后如何与原仓库同步

news2025/1/10 1:35:21

问题场景:

新公司要求所有的代码提交都要先通过自己的库提交到主repo上去,所以先在gitlab网页上fork出一个自己的库,在本地修改完代码后提交到远程自己库上,然后在gitlab网页上发起一个merge request请求,然后等待主repo主人review,同意之后合入。

整体思路如下:

在自己的本地添加主repo为上游代码库,注意只是配置原仓库的路径,并没有真正clone原仓库,

然后将远程主repo同步到自己本地的机器,

然后本地的机器再push到自己的远程的fork库

所有的操作都要在本地命令行完成

jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git remote -v //查看关联分支
origin  git@github.com:jiankunkingit/gin-vue-admin.git (fetch)
origin  git@github.com:jiankunkingit/gin-vue-admin.git (push)
jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git remote add upstream https://github.com/piexlmax/gin-vue-admin.git //关联源分支,并启别名为upstream
jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git remote -v
origin  git@github.com:jiankunkingit/gin-vue-admin.git (fetch)
origin  git@github.com:jiankunkingit/gin-vue-admin.git (push)
upstream        https://github.com/piexlmax/gin-vue-admin.git (fetch)
upstream        https://github.com/piexlmax/gin-vue-admin.git (push)
jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git fetch upstream //摘取关联的源分支最新代码
来自 https://github.com/piexlmax/gin-vue-admin
 * [新分支]          feature/gin-vue-admin_v1.0.0 -> upstream/feature/gin-vue-admin_v1.0.0
 * [新分支]          feature/gin-vue-admin_v2.0.0 -> upstream/feature/gin-vue-admin_v2.0.0
 * [新分支]          master                       -> upstream/master
 * [新分支]          release/gin-vue-admin_v1.0.0 -> upstream/release/gin-vue-admin_v1.0.0
jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git branch -a //查看本地和关联远程的所有的支支
  jiankunking_edit_admin_config
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/gin-vue-admin-develop
  remotes/origin/jiankunking_edit_admin_config
  remotes/origin/master
  remotes/origin/micro-gin-vue-admin
  remotes/upstream/feature/gin-vue-admin_v1.0.0
  remotes/upstream/feature/gin-vue-admin_v2.0.0
  remotes/upstream/master
  remotes/upstream/release/gin-vue-admin_v1.0.0

jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git status
位于分支 master
您的分支与上游分支 'origin/master' 一致。
尚未暂存以备提交的变更:
  (使用 "git add <文件>..." 更新要提交的内容)
  (使用 "git checkout -- <文件>..." 丢弃工作区的改动)

        修改:     .gitignore
        修改:     static/config/config.json

jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git add .
jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git commit -m"edit config.json"

jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git merge upstream/master //要主干上合并源代码的主干
已经是最新的。
jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git add .
jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git commit -m"merge upstream master"
jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git status
位于分支 master
您的分支与上游分支 'origin/master' 一致。
jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git pull //拉取自己线上仓库里的代码
已经是最新的。
jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git push //推送代码到自己的仓库里
Total 0 (delta 0), reused 0 (delta 0)
To github.com:jiankunkingit/gin-vue-admin.git
   b75d839..c0c1a2c  master -> master

如果想断开远程分支

jiankunking@jiankunking-PC:~/go/src/gin-vue-admin/QMPlusServer$ git remote rm upstream

推送代码到自己的仓库里后,就可以到线上New pull request请求合并代码到源仓库里了,这时就等待源仓库里的管理员合并代码了.

其实合并源仓库的master分支 可以合并成一条命令

git pull upstream master

第一个参数pustream 表示远程主repo

第二个参数master 表示自己fork库的master分支

这个是公司文档上写的,并不是从网上找来的

为了说清楚这个问题,亲自做了一张图
在这里插入图片描述

切换到远程dev分支上去进行开发

git clone新项目后如何拉取其他分支代码到本地

1、git clone git@git.n.xxx.com:xxx/xxx.git

2、git fetch origin dev 命令来把远程dev分支拉到本地

3、checkout -b dev origin/dev 在本地创建分支dev并切换到该分支

4、git pull origin dev 就可以把远程dev分支上的内容都拉取到本地了

注:当本地代码是dev分支时,需要先 git pull origin dev 更新远程分支代码到本地,然后再git pull (即拉取远程master分支更新到本地),否则会有冲突。

原文地址:https://www.cnblogs.com/haima/p/12627288.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/582675.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面试:webpack常用loader和plugin

Webpack简介 Webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。当 webpack 处理应用程序时&#xff0c;它会在内部从一个或多个入口点构建一个 依赖图(dependency graph)&#xff0c;然后将你项目中所需的每一个模块组合成一个或多个 bundles&#xff0c;它们均…

如何选择专业的低代码开发平台?为企业数字化转型保驾护航

在当今快节奏的商业环境中&#xff0c;软件开发已经成为任何组织的关键方面。然而&#xff0c;由于市场上有无数的软件开发平台&#xff0c;选择合适的平台可能是一项艰巨的任务。对于任何想要创建满足其业务需求的高质量应用程序的组织来说&#xff0c;选择正确的软件开发平台…

英国卡迪夫大学学生使用ChatGPT写论文拿到一等成绩

近日&#xff0c;BBC报道了一则新闻&#xff1a; 卡迪夫大学一名学生在期末考试中使用ChatGPT撰写了一篇论文&#xff0c;并获得了一等成绩&#xff0c;要知道这是英国大学中最高等级的成绩&#xff0c;而他的另一篇论文没有使用ChatGPT&#xff0c;只获得了二等一的成绩。 此…

1.6. 数组

数组是一种数据结构&#xff0c;用于存储相同类型的多个元素。在 Java 中&#xff0c;数组是一个对象&#xff0c;它具有一定数量的连续内存空间。数组中的每个元素都有一个索引&#xff0c;用于访问和操作元素。 1.6.1. 数组的声明与初始化 在 Java 中&#xff0c;可以使用以…

Find My资讯|iOS17将重点改进钱包、Find My、SharePlay和AirPlay等功能

彭博社的马克・古尔曼&#xff08;Mark Gurman&#xff09;在最新一期 Power On 时事通讯中表示&#xff0c;苹果即将推出的 iOS 17 系统将改进 Wallet、Find My、SharePlay 和 AirPlay 等多项功能。 古尔曼在博文中还表示苹果会增强 Find My 的位置服务&#xff0c;同样也没…

前端数据可视化开发平台FlyFish数据源应用教程详解

介绍 飞鱼&#xff08;FlyFish&#xff09;是云智慧开源的一款免费的数据可视化编排平台。通过简易的方式快速创建数据模型&#xff0c;通过拖拉拽的形式&#xff0c;快速生成一套数据可视化解决方案。在飞鱼产品中可以通过直接连接 MySQL 、 Oracle 等数据库直接从数据源中获…

LiangGaRy-学习笔记-Day17

1、磁盘的介绍 自动分区、手工分区、命令工具分区 1.1、磁盘分类 根据介质来区分&#xff1a; 机械硬盘和固态硬盘 通过盘大小&#xff1a; 3.5英寸和2.5英寸 通过接口分类&#xff1a; SAS、SATA、FC scisi 根据功能&#xff1a; 桌面和企业级别 1.2、磁盘类型 HD…

关于【Stable-Diffusion WEBUI】生成全身图:插件解决面部崩坏问题

文章目录 &#xff08;零&#xff09;前言&#xff08;一&#xff09;脸难看的问题&#xff08;1.1&#xff09;面部修复&#xff08;1.2&#xff09;远景脸部问题 &#xff08;二&#xff09;面部修复插件&#xff08;Face Editor&#xff09;&#xff08;2.1&#xff09;模型…

最常见JS加密保护代码的方法

当谈到JavaScript&#xff08;简称JS&#xff09;代码的保护时&#xff0c;加密是一种常见的策略。加密可以帮助保护你的JS代码&#xff0c;防止未经授权的访问、修改和复制。在本文中&#xff0c;我将向你介绍一些常用的js加密保护方法&#xff0c;并提供一些通俗易懂的示例代…

如何有效和快速清理C盘

电脑在运行过程中会产生磁盘碎片&#xff0c;时间一长垃圾文件就会越多。而且我们平常不敢乱清理C盘中的文件&#xff0c;以免因为误删导致系统出现故障&#xff0c;所以垃圾文件才肆意占用系统盘空间。不过我们可以选择系统自带的“磁盘清理”功能“制服”它&#xff0c;给C盘…

(转载)多种群遗传算法的函数优化算法

以下内容大部分来源于《MATLAB智能算法30个案例分析》&#xff0c;仅为学习交流所用。 1 理论基础 1.1 遗传算法早熟问题 遗传算法是一种借鉴生物界自然选择和进化机制发展起来的高度并行、随机、自适应的全局优化概率搜索算法。由于优化时不依赖于梯度&#xff0c;具有很强…

商代数与积代数

商代数 设 R R R使 A < S , ∗ 1 , ∗ 2 , ⋯ , ∗ n > A \left<S, *_1, *_2,\cdots, *_n\right> A⟨S,∗1​,∗2​,⋯,∗n​⟩上的同余关系&#xff0c;则 R R R使 S S S上的等价关系&#xff0c;因此 R R R可诱导出 S S S的一个划分 S / R { [ a ] R ∣ a ∈…

【大数据处理与可视化】七、时间序列分析

【大数据处理与可视化】七、时间序列分析 实验目的实验内容实验步骤一、案例——股票收盘价分析1、读取数据&#xff0c;并转换成DataFrame对象展示2、将“交易日期”一列设置为行索引3、根据数据中“收盘价”一列的数据绘制一张折线图&#xff0c;以了解近些年来收盘价格的趋势…

Buck环路响应伯德图Mathcad绘制

一直不理解环路响应&#xff0c;调试也是应用参考电路&#xff0c;虽然自动化的课程忘的差不多了&#xff0c;但也不是偷懒的借口&#xff0c;直到昨天看到可以用Mathcad计算BUCK电路工作在电压控制的CCM连续模式&#xff0c;这是基于开关平均法推导出的小信号传递函数模型。原…

IDEA-报错 Failed to read artifact descriptor for xxx解决方法

项目场景&#xff1a; idea下载若依微服务的项目&#xff0c;配置环境产生了报错 问题描述 在idea里配置环境时maven报错Failed to read artifact descriptor for xxxx 原因分析&#xff1a; 在进行导包的时候maven和jdk版本导致的&#xff0c;更换版本之后大部分报错不存在…

分享一个科幻风的404

先看效果&#xff1a; 再看代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>404页面</title><script src"https://cdnjs.cloudflare.com/ajax/libs/three.js/r125/th…

PyTorch-Loss Function and BP

目录 1. Loss Function 1.1 L1Loss 1.2 MSELoss 1.3 CrossEntropyLoss 2. 交叉熵与神经网络模型的结合 2.1 反向传播 1. Loss Function 目的&#xff1a; a. 计算预测值与真实值之间的差距; b. 可通过此条件&#xff0c;进行反向传播。 1.1 L1Loss import torch from …

面试:Webpack的核心概念

基本概念 Entry&#xff1a;入口&#xff0c;Webpack 执行构建的第一步将从 Entry 开始&#xff0c;可抽象成输入。Module&#xff1a;模块&#xff0c;在 Webpack 里一切皆模块&#xff0c;一个模块对应着一个文件。Webpack 会从配置的 Entry 开始递归找出所有依赖的模块。Chu…

Socket(一)

文章目录 1. 简介2. 用Socket从服务器读取3. 用Socket写入服务器4. 构造和连接Socket4. 选择从哪个本地接口连接5. 构造但不连接 1. 简介 Socket允许程序员将网路连接看作是另外一个可以读/写字节的流&#xff0c;Socket对程序员掩盖了网络的底层细节&#xff0c;如错误检测、…

单例模式总结

(153条消息) 解决线程安全问题&&单例模式_Master_hl的博客-CSDN博客 饿汉式 在类初始化时直接创建实例对象&#xff0c;不管你是否需要这个对象都会创建 直接实例化饿汉式&#xff08;简洁直观&#xff09; 特点&#xff1a;构造器私有化、自行创建且用静态变量保…