我使用本指南在GitHub上创建了公共仓库的私有分支 https://help.github.com/articles/duplicating-a-repository
git clone --mirror <path-to-some-public-repo>
cd ./some-public-repo.git
git remote rm origin
git remote add upstream <path-to-some-public-repo>
git remote add privatefork <path-to-your-private-fork>
git push --mirror privatefork
我做了一些工作,创建了自己的分支,将分支推送到私有分支。然后我从上游获取更新到我的私人福利
git fetch -p upstream
git push --mirror privatefork
我的新分支在更新期间被删除了。仍然在回购中,但分支已被删除。 当然我可以再次创建分支,但这是一种错误的方式。
如何更新私有分叉并保留新分支?
答案 0 :(得分:1)
我猜,因为你没有将你的新分支发布到被调用的git fetch -p
的“上游”:
“[r]摘录[取出后]遥控器上不再存在的任何远程跟踪参考。”
- git-fetch(1)手册页
换句话说,您可以根据需要推送和更改(在“privatefork”上)上游中的每个fetch -p
,您将删除更改。
除此之外:使用--mirror
和--prune
- 关于GitHub的整篇帮助文章 - 被提及创建存储库的1:1副本/备份。如果您打算使用存储库,请保留选项并执行“正常”分叉。