[特殊字符] 如何在自己的仓库开发,同时保持同步原作者更新(超详细教程)

在开源协作开发中,很多时候我们会遇到这样一种情况:

👉 我们想基于一个开源项目继续开发,代码要推送到自己的仓库里;

👉 但原作者可能还会更新,我们也希望能随时把最新的改动同步过来。

本文以 Gitee 为例,手把手教你如何操作。


一、场景说明

假设:

  • 原作者的仓库地址:

    复制代码
    https://gitee.com/zhijiantianya/ruoyi-vue-pro.git
  • 你在 Gitee 新建了自己的仓库:

    复制代码
    https://gitee.com/yourname/ruoyi-vue-pro.git
  • 本地一开始是 clone 下来的原作者代码。

目标是:

  1. 自己的仓库作为主要开发仓库(origin)。
  2. 原作者的仓库作为更新来源(upstream)。
  3. 日常开发推送到自己的仓库;需要更新时从原作者拉取。

二、操作步骤

1. 重命名远程仓库

你本地现在的 origin 指向原作者仓库,先改名为 upstream

bash 复制代码
git remote rename origin upstream

2. 添加自己的仓库作为新的 origin

bash 复制代码
git remote add origin https://gitee.com/yourname/ruoyi-vue-pro.git

3. 检查远程仓库

bash 复制代码
git remote -v

输出应类似:

复制代码
origin    https://gitee.com/yourname/ruoyi-vue-pro.git (fetch)
origin    https://gitee.com/yourname/ruoyi-vue-pro.git (push)
upstream  https://gitee.com/zhijiantianya/ruoyi-vue-pro.git (fetch)
upstream  https://gitee.com/zhijiantianya/ruoyi-vue-pro.git (push)

4. 推送到自己的仓库

第一次推送:

bash 复制代码
git push -u origin master

(如果默认分支是 main 就改成 main


三、以后如何同步原作者更新

每次想获取原作者更新时:

bash 复制代码
# 1. 拉取原作者更新
git fetch upstream

# 2. 切换到主分支
git checkout master   # 或 main

# 3. 合并原作者的更新
git merge upstream/master

# 4. 推送到自己的仓库
git push origin master

这样你的仓库就和原作者保持同步啦。


四、完整流程图

下面是一个小白也能看懂的操作流程图 👇

复制代码
             +-------------------------+
             | 原作者仓库 (upstream)   |
             | gitee.com/zhijiantianya |
             +-----------+-------------+
                         |
                  git fetch / merge
                         |
                         v
+-------------------------+          git push          +---------------------------+
| 本地仓库                | -----------------------> | 个人仓库 (origin)          |
| D:\02_Workspace\jxc... |                          | gitee.com/yourname/ruoyi   |
+-------------------------+                          +---------------------------+

五、日常使用总结

  • 开发提交 → 提交到本地,再 push 到自己的仓库(origin)。
  • 获取更新fetch upstreammerge 到本地主分支 → push 到自己的仓库。
  • 保持清晰 → 记住:origin = 你自己的仓库,upstream = 原作者仓库。

六、写在最后

这种方式非常适合:

  • 二次开发开源项目
  • 自己定制化版本,但又想跟进官方更新
  • 团队内部协作(fork → 开发 → 合并)

学会这一招,你就能轻松维护自己的代码库,同时又不落下原作者的新功能。 🎉