我使用mercurial和命名分支,并注意到当我创建一个新的默认分支时,default被标记为非活动分支.例如:
C:\data\solutions\test-repo>hg branches
default 0:aeec280e6310
C:\data\solutions\test-repo>hg branch feature-branch
marked working directory as branch feature-branch
C:\data\solutions\test-repo>hg com -m "created new branch"
C:\data\solutions\test-repo>hg branches
feature-branch 1:1cb18d7fa554
default 0:aeec280e6310 (inactive)
Run Code Online (Sandbox Code Playgroud)
这是一个问题,因为我们的部署系统显示了活动的命名分支,可以从中部署.
如何保持默认分支"活动"?
Mar*_*ler 22
"活跃"和"非活跃"分支的概念是我们在Mercurial项目中逐渐消失的.问题很简单,分支可以或多或少随机地在两个状态之间来回切换,并且在不方便的时候 - 就像你刚才看到的那样.
相反,我们现在专注于"开放"与"封闭".这是一个明确的概念:你要关闭一个分支头
$ hg update feature-branch
$ hg commit --close-branch -m "passes all tests, ready for merging"
Run Code Online (Sandbox Code Playgroud)
这将添加一个特殊的变更集,将分支头标记为已关闭.当分支上的所有头都关闭时,分支本身就会被认为是关闭的并且会从中消失hg branches.我建议在合并之前关闭,请参阅我的命名分支指南以获取更长的示例.
因此,我建议您更改部署系统以显示open branches(hg branches)而不是active branches(hg branches --active).
Xav*_*ero 14
不活跃只意味着它没有头脑.
在您的情况下,图形如下:
default: 0 -\
feature-branch: \- 1 --- *
Run Code Online (Sandbox Code Playgroud)
* 意思是"工作的目录
当您在功能中执行更多修复(如节点2和3)时,这将是方面:
default: 0 -\
feature-branch: \- 1 --- 2 --- 3 ---- *
Run Code Online (Sandbox Code Playgroud)
当你想要集成feature-branch到default刚刚更新的时候default
default: 0 -\--------------------- *
feature-branch: \- 1 --- 2 --- 3
Run Code Online (Sandbox Code Playgroud)
然后合并feature-branch到default:
default: 0 -\-------------------/- *
feature-branch: \- 1 --- 2 --- 3 -/
Run Code Online (Sandbox Code Playgroud)
它看起来"不活跃"的事实并不意味着你无法使用它.例如,hg update --clean default即使"部署脚本" 显示为"非活动",它也可以完美地工作.
不活跃只是意味着它没有头脑.没有其他的.合并后它将变为活动状态feature-branch,它将变为"非活动状态".
不要介意其活动/非活动状态,只需正常使用它.
| 归档时间: |
|
| 查看次数: |
6191 次 |
| 最近记录: |