小知识系列:Fork之后如何与原仓库分支同步

本文介绍了在GitLab或GitHub上fork代码后如何保持与主干仓库同步的方法。首先,通过`git remote -v`查看远程仓库。接着,使用`git remote add upstream [UpstreamGitURL]`关联主干仓库为upstream。然后,使用`git fetch upstream`同步主干代码,最后通过`git merge upstream/branchName`将主干分支合并到本地。这样,可以在定制变更的同时保持与原仓库的更新同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言

在日常工作过程中在gitlab或是github上会存在需要fork其它代码到自己的仓库中,进行一些自定义的变更,与此同时又想保持与主干的同步,此时应该如何处理

1. 远程仓库查看

默认的远程仓库地址可以通过git remote -v 查看,而默认也只能查看到fork之后的仓库的分支与代码,此时只能与当前仓库的分支代码进行merge。
在这里插入图片描述

2. 远程仓库关联

因为默认关联的远程仓库只有fork之后的分支,故只能选择fork之后的仓库来进行代码的合并,如果能够关联多个远程仓库是不是就能解决该问题,主流的解决方案也是基于此,默认的远程命名为origin,通过git执行再添加一个远程仓库upstream,具体指令如下:git remote add upstream 【Upstream git URL】来进行配置即可
在这里插入图片描述

3. 多仓库代码合并操作

  • 优先进行远程仓库代码同步,有别于原有的git fetch,需要通过git fetch upstream来同步原仓库的分支与代码
  • 通过git merge upstream/branchName合并原仓库分支即可
### 如何在 GitLab 中 Fork 分支 为了理解如何在 GitLab 中 fork 分支,重要的是要区分两个概念:“Fork 项目” 和 “创建新分支”。 #### 创建新分支 如果目的是在同一仓库内创建新的分支,则可以通过以下方式实现: 1. **通过 Web 界面** - 登录到 GitLab 并导航至目标项目的页面。 - 进入 `Repository` -> `Branches` 页面。 - 使用界面中的按钮来新建分支并指定源分支。 2. **命令行操作** 可以利用 Git 命令行工具完成相同的操作。先克隆远程仓库: ```bash git clone https://gitlab.com/xhang/gitlab.git ``` 接着切换到想要分叉的现有分支,并基于它创建一个新的本地分支: ```bash cd gitlab git checkout main # 或者其他基础分支名称 git checkout -b feature/new-feature-name ``` 完成修改后推送回远端服务器: ```bash git push origin feature/new-feature-name ``` 上述过程实际上是在同一个仓库内部复制了一个工作副本作为独立开发环境[^1]。 #### Fork 整个项目 当提到真正意义上的“fork”,通常是指将整个项目拷贝一份成为自己的私有副本。这适用于跨不同用户的协作场景下希望保留始历史记录的同时开展平行工作的场合。具体做法如下: - 访问作者的 GitLab 项目主页; - 找到右上角的 "Fork" 按钮点击执行; - 选择个人空间或所属组的位置保存副本; - 此举会建立一个全新的独立项目实例,允许自由编辑而不影响上游资源; 需要注意的是,在完成了 fork 动作之后,还需要手动同步最新的变更以便保持源头的一致性。可以设置 upstream remote 来简化这一流程[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蒲春伟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值