在 Github 上我们经常会 fork 一些项目,在主仓库更新版本时,我们只需要使用 Github 提供的 Sync fork 功能即可保持同步。但有时候我们添加了一些功能修改,提交 PR 后作者基于设计或者其他原因考虑没有通过,而这个功能又是我们必须的,又或者是只简单修改了一些自定义配置,用于本地运行,这时我们就会维护一份自己的版本。此时就需要我们手动来同步了。

这里以本人 fork 的 docker_image_pusher 仓库为例

# 流程

  1. 克隆自己 fork 后的远端仓库到本地
git clone git@github.com:qoopp/docker_image_pusher.git
  1. 进入目录并设置远程仓库的 upstream (上游代码库)
cd docker_image_pusher
# 查看远程仓库路径
git remote -v
# 通常只会显示如下两行内容,说明你未设置 upstream
origin git@github.com:qoopp/docker_image_pusher.git (fetch)
origin git@github.com:qoopp/docker_image_pusher.git (push)
# 设置远程仓库的 upstream,路径为原仓库路径
git remote add upstream git@github.com:tech-shrimp/docker_image_pusher.git
# 再次查看远程仓库路径
git remote -v
# 会多出两条 upstream 开头的路径,说明设置成功
origin git@github.com:qoopp/docker_image_pusher.git (fetch)
origin git@github.com:qoopp/docker_image_pusher.git (push)
upstream git@github.com:tech-shrimp/docker_image_pusher.git (fetch)
upstream git@github.com:tech-shrimp/docker_image_pusher.git (push)
  1. fetch 原仓库最新更新
git fetch upstream
  1. 合并原仓库更新到本地分支
# 切换到想要合并的分支
git checkout main
# 合并,如有冲突按正常解决冲突的流程处理即可
git merge upstream/main
# 推送到自己 fork 的仓库
git push
此文章已被阅读次数:正在加载...更新于

请我喝杯咖啡吧☕️

木亦 微信支付

微信支付

木亦 支付宝

支付宝