我的 github 存储库名为 Programming-iOS-4-Book-Examples,因为它是我的书“Programming iOS 4”中的示例代码。现在我写了这本书的新版本,重新命名为“Programming iOS 5”。我需要保留旧名称的旧仓库,因为网上到处都有指向它的链接,有人可能需要旧代码。但现在我还想要一个新名称 Programming-iOS-5-Book-Examples 的新存储库,其中包含为 iOS 5 重写的相同示例(加上一些新示例)。
当然,我看到了这个:How can I fork my own GitHub repository?但是那里的建议是使用分支机构。那对我不起作用。我不想使用分支,因为这违背了为 repo 协议(protocol)提供一个我可以链接到的名称的目的。我希望公众在 iOS 4 存储库中找到我的 iOS 4 示例,在 iOS 5 存储库中找到我的 iOS 5 示例。
这似乎是 fork 的完美使用,但是当我按下 fork 按钮时,什么也没有发生;我显然不允许 fork 我自己的 repo 协议(protocol)。
当然,我可以将其作为一个全新的存储库,但这意味着要单独上传所有资源,这很不幸,因为一切都已经在 iOS 4 存储库中了。无论如何我都必须这样做吗?
最佳答案
您不能拥有两个名称相同的存储库,并且在 Github 上进行 fork 会自动转移该名称,所以这就是它无法正常工作的原因。听起来您可以通过在本地添加一个分支,然后使用新名称推送到一个新的 Github 存储库来得到很好的服务。您甚至可以将 Github 存储库显示为 master
作为分支:
git clone git://github.com/you/repo.git
git checkout -b new_book
[ create new repo on Github ]
git remote add new_origin git://github.com/you/repo.git
git push new_origin new_book:master
只需使用更合适的名称,您就大获成功。您可以 merge 对共享示例的更新,将其他示例添加到新书代码,并且您只需推送到 origin
和 new_origin
(使用上面的示例名称)变化。
关于git - 我可以/应该 fork 我自己的 github 仓库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9658194/