在 Github 上我们经常会 fork 一些项目,在主仓库更新版本时,我们只需要使用 Github 提供的 Sync fork
功能即可保持同步。但有时候我们添加了一些功能修改,提交 PR 后作者基于设计或者其他原因考虑没有通过,而这个功能又是我们必须的,又或者是只简单修改了一些自定义配置,用于本地运行,这时我们就会维护一份自己的版本。此时就需要我们手动来同步了。
# 流程
- 克隆自己 fork 后的远端仓库到本地
| git clone git@github.com:qoopp/docker_image_pusher.git |
- 进入目录并设置远程仓库的 upstream (上游代码库)
| cd docker_image_pusher |
| |
| |
| git remote -v |
| |
| |
| origin git@github.com:qoopp/docker_image_pusher.git (fetch) |
| origin git@github.com:qoopp/docker_image_pusher.git (push) |
| |
| |
| git remote add upstream git@github.com:tech-shrimp/docker_image_pusher.git |
| |
| |
| git remote -v |
| |
| |
| 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) |
- fetch 原仓库最新更新
- 合并原仓库更新到本地分支
| |
| git checkout main |
| |
| git merge upstream/main |
| |
| git push |