这是我第一次使用DVCS和单独的开发人员,这是我第一次真正使用分支机构,所以也许我在这里遗漏了一些东西.
我有一个远程存储库,我从中取出文件并开始工作.更改被推送到远程存储库,当然这个简单的方案工作正常.
现在我的Web应用程序有一些稳定的功能,我想开始部署它,所以我将远程存储库克隆到我的工作目录之外的新分支/稳定目录中,用于默认分支并使用:
hg branch stable
Run Code Online (Sandbox Code Playgroud)
创建一个新的命名分支.我创建了一组仅由stable分支所需的部署脚本,并且我根据需要提交了它们.再次这很好.
现在当我回到我的初始工作目录来处理一些新功能时,我发现Mercurial坚持只有一个头在远程存储库中.换句话说,我必须合并两个分支(默认和稳定),将不需要的部署脚本添加到我的默认分支,以便推送到主存储库.如果我必须对我的稳定分支中的文件进行更改以便部署,这可能会变得更糟.
如何在Mercurial中将我的命名分支分开?我是否必须创建两个单独的远程存储库才能这样做?在这种情况下,命名分支失去其价值.我在这里错过了什么吗?
Ste*_*osh 11
使用hg push -f
强制新的远程头的创建.
push
默认情况下不会这样做的原因是它会在你忘记的情况下提醒你拉动和合并.什么,你不希望发生的事情是:
现在分支X在远程仓库中看起来像这样:
--(100)--(101)
\
\---------(102)
Run Code Online (Sandbox Code Playgroud)
如果他们正在检查分支机构,新开发人员应该抓住哪个头?谁知道.
在重新阅读Mercurial 书中有关命名分支开发的部分后,我得出的结论是,就我个人而言,最佳实践是拥有单独的共享存储库,每个分支一个。我使用的是 bitbucket.org 的免费帐户,因此我试图强迫自己只使用一个共享存储库,这导致了问题。
我硬着头皮给自己注册了一个付费帐户,这样我就可以为我的稳定版本保留一个单独的共享存储库。
归档时间: |
|
查看次数: |
4235 次 |
最近记录: |