准备

要使用 github.com 就要先解决能否顺利访问的问题。 我的本地MacBook电脑端浏览器上使用 ghelper 作为代理,命令行下使用Clash作为命令行的代理。

注意: Clash 通常提供的是 http的代理,7890 端口。代理软件的安装设定等不在本文讨论范围。

如下以 vue-vben-admin 这个开源的后端管理框架为例,讲解如何基于github的开源项目开发我们自己的项目(私人订制)。

简介

vue-vben-admin 这个框架其主仓库位于 https://github.com/vbenjs/vue-vben-admin.git 其使用Vue3+Vite+TypeScript 的最新版本进行开发。该项目比较活跃,且使用人数众多,截止本文(2025-12-03)点赞 30.8k,并且 fork 数量也不少 8.4k,是个优秀的中后端WEB框架。

目标

我们的目标是:

  • 以 vue-vben-admin 官方仓库为基础框架;
  • 持续开发我们自己的管理后台功能和页面;
  • 定期同步上游官方仓库的 bug 修复和新特性;
  • 不丢失我们自己的功能代码。

最终拥有一个长期可维护的“私有定制版” vue-vben-admin

fork 官方仓库

首先我们需要将 https://github.com/vbenjs/vue-vben-admin.git fork 到我们自己的github账号内,仍旧用 vue-vben-admin 这个仓库名称。这个步骤可以在github的网页上直接可以完成。

clone 我们 fork 的仓库

此时你需要将 Clash 开启为全局代理,然后将我们自己的 vue-vben-admin clone 到我们自己的电脑 vue-vben-admin-web 文件夹内。

## 将github的git访问设置代理服务器,此时的设置只对github有效,而不影响其他仓库的git操作
git config --global http.https://github.com.proxy http://127.0.0.1:7890
git config --global https.https://github.com.proxy http://127.0.0.1:7890
git config --global http.https://github.com.proxy socks5://127.0.0.1:7890
git config --global http.https://github.com.proxy socks5h://127.0.0.1:7890

## 如果你的代理已经成功启动并生效,就能够使用如下命令将项目clone下来。
## 你可以用 curl -x http://127.0.0.1:7890 https://github.com 验证代理是否OK
git clone https://github.com/yujinping/vue-vben-admin.git vue-vben-admin-web

添加官方仓库为 upstream

cd vue-vben-admin-web
## 添加官方仓库为 upstream
git remote add upstream https://github.com/vbenjs/vue-vben-admin.git

创建你自己的“开发分支”

需要注意的是: *** 永远不要直接在 main 上开发,否则同步上游时会冲突爆炸。 ***

# 创建并切换到自定义开发分支
git checkout -b dev

以后我们所有的功能、页面、菜单、样式,都在 dev 这个分支上进行开发,并进行常规的 git 操作即可。

定期同步上游更新(关键)

# 1. 拉取官方最新代码
git fetch upstream

# 2. 切换到 main 分支,合并官方更新
git checkout main
git merge upstream/main

# 3. 回到你的开发分支 dev,rebase 到最新的 main 即可
git checkout dev
git rebase main

这样我们的修改就始终“叠在”官方最新代码之上,历史清晰,冲突可控。

推送dev分支

git push origin dev

此时如果 push 发生认证错误,你需要用户名和密码进行认证。或者需要在 github 获取访问令牌 access token 才行。

获取token方法

具体在 github.com网页你的头像 -> Settings -> Developer Settings -> Personal access tokens -> Tokens(classic) -> Generate new token(classic) 创建一个新的 token,需要勾选上 write:packages等权限。最后复制 token(类似 ghp_xxxx 一串的字符文本) 。 在命令行需要登录的 username处填写该token, password 处直接回车(或再填一次令牌)即可。


git config --global credential.helper store   # 会明文写到 ~/.git-credentials

git push origin main
# 提示 Username: 填令牌
# 提示 Password: 直接回车(或再填一次令牌)

一句话总结

main 跟踪官方,用 dev 开发我们自己的功能,定期 rebase,冲突最少,升级最干净。