微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的OSS项目的私有和公共git仓库

如何解决我的OSS项目的私有和公共git仓库

|| 在stackoverflow中也有类似的问题,但是没有一个是我要问的,至少没有我能找到的。 我正在启动一个OSS项目,我想在github上公开共享它。但是我也想在我的服务器上有一个私有的远程仓库。公共仓库用于项目的公共版本,私有仓库用于内部版本,尚不能发布。显然,公共仓库将永远是私有仓库中可能的旧版本,并且私有仓库中的东西只有在准备就绪后才会被推向公众。 我在网上搜索,发现有些人提出了与我想要的工作流程非常相似的工作流程。这是博客文章链接,他们在其中解释了所有内容:http://www.braintreepayments.com/devblog/our-git-workflow 我喜欢它的所有内容,除了在github上的公共仓库中完全压缩的提交之外。我也不太喜欢这样的部分:合并后,他们必须将所有内容重新合并到master和release分支中,尽管正如他们肯定地断言的那样,那里并没有真正的改变。 我的问题是,公开回购历史只是一系列压缩的提交,丢失了其中所有逻辑更改的细节,真的很糟糕吗?这对我来说似乎很不自然,我并没有看到太多,但也许还不算太糟,否则我可以在没有
--squash
参数的情况下采用此工作流程。 另外,从github_master重新合并到master和release分支的阶段又如何呢?我猜他们由于提交被压缩而需要它。如果我决定不压壁,那么我认为这不是必需的,但是我不确定。 否则,有人可以建议其他方法吗?考虑到如果有人分叉我的github存储库,我也可能希望接受其他人的贡献。     

解决方法

如果您只是不希望未发布的更改在发布之前可见,并且不介意中间的提交一旦发布就变得可见,那么这很简单。您可以将您的私人分支视为普通分支。只要确保私有分支名称在github上不存在(但在私有仓库中就存在),并且默认的推送设置就可以解决了。 但是,如果您确实想隐藏历史记录,那么这就是基于南瓜的工作流程的全部内容。在这种情况下,如果您确实合并了外部分支,则最好避免挤压它们的提交。     ,除了沿着这条路线走,为什么不直接将所有更改推送到Github,而是在\'master \'以外的其他分支中-这样,人们默认会看到\“ safe \”分支,但您不会失去历史。 如果您确实想让您的dev分支保密,则可以按照我的描述进行操作,但不要压入dev分支-dev分支仅对您的计算机本地。     ,您的思路很好。如果您不想这么做,则无需压缩提交。根据您的私有分支,您仍然希望将其推送到某个位置,以便进行备份。您可以将其推送到USB记忆棒上的裸露克隆,或者将其推送到unfuddle.com之类的地方,那里有免费的私人git repo空间。然后,您将设置2个遥控器:一个连接到Github,另一个连接到USB记忆棒或松开遥控器。 另外,请记住,较大的文件(如第3方DLL)可能会炸毁您的存储库,可能会阻止您免费取消存储。在这种情况下,请使用子模块将这些文件保存在公共github存储库中,并仅将实际源存储在较高级别的存储库中,您将推送该存储库以解除混乱。 希望这可以帮助。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。