我有一个小型的开源C ++项目,使用Mercurial托管在Bitbucket上。 现在,我正在开发一个新功能,它添加了几个新文件和新构建目标;否则它不会改变现有文件。
我已经开了一个新的分支,但在我把它推到主回购后我被告知我无法打开新功能..所以我关闭了回购并开始寻找解决方案。我有两个问题:
对于这种情况,这会是一个好方法吗?我需要一些东西,允许我同步公共和私人仓库之间的公共代码修复。我不介意只在本地使用私有代码。我发现了两件事:
将新分支用于新分支;但我不知道如何修复我在秘密分支中的公共文件到开放式仓库
使用subrepos;这需要一些代码重组,但可能更清晰......我只是困扰我,这在文档中被标记为“最后的特征”。
如何修复已将已关闭代码推送到回购代码的情况?剥离分支并推送是否有帮助,或者我是否需要从Bitbucket删除repo并创建一个新的?
答案 0 :(得分:1)
由于我很高兴只在本地拥有私人分支机构,所以我做了以下工作:
我从bitbucket repo以及我的本地副本中剥离了私人分支。
在我的私人仓库副本中,我将更改从公共分支合并到私有分支,然后将私有分支中更改的所有公共文件复制到公共文件中。
然后我将整个私人分支标记为“秘密”,以使其保持本地化。
为了将来的工作,我计划使用hg merge
将更改从公共分支移动到私有分支,并hg graft
用于反向移动。
据我所知,这应该有用......