如何在同一GitHub项目树中拥有多个Fork并推送代码?
解决GitHub无法重复Fork同一上游仓库的问题
方案1:在现有B仓库本地添加C仓库作为远程源
这是最直接的方式,不用额外创建仓库,就能同时推送代码到B和C:
- 克隆你的B Fork仓库到本地(如果已经克隆过就跳过):
git clone git@github.com:你的用户名/B.git cd B - 添加C仓库为新的远程源,命名为
upstream-c(名字可自定义):git remote add upstream-c git@github.com:C团队用户名/C.git - 验证远程源配置是否成功:
输出里会看到git remote -vorigin对应你的B仓库,upstream-c对应C仓库 - 推送代码到C仓库:切换到你要推送的分支,执行推送命令并指定远程源即可:
注意:前提是你拥有C仓库的直接推送权限,若没有,需要C社区给你添加协作权限git checkout 你的开发分支 git push upstream-c 你的开发分支
方案2:单独克隆C仓库进行维护
如果不想把B和C的代码混在同一个本地仓库,直接单独处理C的代码:
- 创建新目录并进入:
mkdir repo-c && cd repo-c - 初始化git仓库并关联C的远程地址:
git init git remote add origin git@github.com:C团队用户名/C.git - 拉取C仓库的代码:
git pull origin main - 之后正常开发、提交,直接推送到C仓库即可:
git push origin 你的开发分支
备选方案:无推送权限时的处理方式
如果你没有C仓库的直接推送权限,又无法创建Fork,可以:
- 在自己的B仓库中创建对应C的开发分支,完成代码后,到C仓库的GitHub页面提交PR,选择你的B仓库分支作为源分支
内容的提问来源于stack exchange,提问作者La Burger
相关产品推荐
相关产品推荐

