我即将开始在GitHub上托管一个开源项目。我想让它在"完成"稳定时打开,我想知道最好的方法是什么。
我必须创建一个私有的仓库,当我有我的第一个版本,我创建一个独立的公共仓库,我上传所有的代码?
我不想分享所有的开发历史,因为会有很多来回的,没有意义的分享。
保持历史
你可以在BitBucket上用一个私有的repo启动你的项目,并推送到这个私有的repo。然后当它完成时:
- 在github上创建一个公共仓库
- 删除bitbucket远程分支:
git remote remove origin
添加新的github远程分支: - 然后将整个repo推送到github:
git push -u origin master
git remote add origin https://github.com/username/repository-name.git
这样,当你将推送到github的repo(实际上,它只是git的另一个远程repo)时,保持完全相同的历史。 Update:另一方面,如果你想在github上重新开始一个没有任何历史记录的项目: 开始新的 这样,你将有一个repo与一个提交在的确切状态,在github上发布。.git
文件夹:rm -rf ./.git
git init
git add .
git commit -m "The project magically started here ;-)"
git remote add origin https://github.com/username/repository-name.git
git push -u origin master
在这样做之前考虑一下,因为历史可以是非常有趣的保存和分享…
你总是可以使用Bitbucket作为私有存储库,然后在你完成的时候将其克隆到Github(甚至将你的项目保留在那里)。
忠告:项目很少"完成",也不会再碰。此外,如果您想保持您的历史隐私,您可以随时重写您的历史,然后将其推送回远程。通常不建议这样做,特别是如果其他人会在你以外的地方工作,但这总是一个选择。
我建议在Github上启动一个项目并在那里提交。很多项目都有多次提交。毕竟,这些都是过程的一部分。没有什么是真正完美的。:)
你可以查看git rebase/squash
如果你想创建一个私人回购,你将不得不付费,查看这里的定价细节:
https://github.com/pricing我将使其私有首先,然后只是添加另一个远程原点指向一个空的公共存储库与您的GitHub帐户。当你准备好让它公开时,再推到那个遥控器。