我在github上有一个repo,它包含一个部署到两个不同域的Web应用程序.应用程序在这里和那里有轻微的逻辑分支,根据它部署到哪个域而表现不同.
它已经到了我想要将它分成两个单独的存储库的位置,每个域一个.
Github不会让我把它分成同一个组织.搜索"git duplicate repo"表示我应该克隆并镜像推送它,但这似乎是为了保持两个repos同步,我不想这样做.
最好的方法是什么?如果可能的话,我想在新副本中保留旧的提交历史记录.
只需创建一个新的存储库并从您的工作副本推送到它:
git clone git@github.com:me/myrepo-original cd myrepo-original git remote set-url origin git@github.com:me/myrepo-new git push origin master
现在你有了一个新的存储库myrepo-new
,它与之相同myrepo-original
.
如果您不需要fork关系(例如,您出于某种原因需要某种解耦的备用仓库),请将您的仓库复制作为轮廓重复,并且larsks的回答很好.
如果你不希望把它叉,请联系Github上支持(support@github.com或https://github.com/support),他们会为你同一组织创建一个叉.(他们对此也不挑剔,你只需为回购提供替代名称,因为帐户中的回购名称必须是唯一的.)
更新:用户Steve Rice在下面的评论中报告说GitHub支持表示支持目前/不再在您的帐户中设置第二个分支.您仍然可以尝试询问他们,因为支持员工可能会这样做 - 但这也可能是政策变化阻止他们这样做.
使用页面顶部+ 菜单上的 Github的Import Repository选项
这将使用复制的存储库的确切内容创建一个新的存储库。缺点是它不算是Github的分支。