如何确保主线分支上存在发布分支上的所有更改(本例中为master)?
理想情况下,我们都有持续部署,从不需要发布分支。如果我们确实需要它们,我们需要知道如何检查对发布分支所做的所有必要更改是否使其返回到主线(在这种情况下为master)。
当我们创建发布分支时,我们:
git checkout master -b release/0.0
git log -n 1
cherry-pick -x
最后,我们会有一些变化,这些变化会将他们的出处追溯到掌握,而另一些则不会。鉴于,我们可能不希望整个集合回主,合并不是一个选项。
我们需要一种方法让团队审核变更,以确保我们在主人身上得到所有必需的更改。特别是如果我们有发布分支的bugfix或hotfix分支。
如果我们使用diff或运行测试合并,我们会看到发布分支上的所有流失,如果我们处于并发开发模式,可能会看到对master的更改。
在降低噪音和专注于实际变化的过程中,需要采取樱桃选择的方法是这种方法:
git checkout <release-branch-origin-commit-id> -b squash-release-0.0
git merge --squash release/0.0
git checkout master -b closout-release-0.0
git cherry-pick --no-commit <squashbranch single commit sha>
当我们这样做时,我们发现任何来回恢复都会被平滑掉,并且差异/冲突是少量文件。我们仍然必须查找文件并检查注释以确定正确的操作过程,但我们这样做的范围要小得多。
如果您确实需要使用长期发布分支机构或维护分支机构,那么如何确保应该传播到主数据库和将来版本的更改是否会这样做?
答案 0 :(得分:0)
最好的选择似乎是 - 完全避免问题只能通过挑选来发布分支机构。如果这是不可能的,那么squashbranch方法似乎运作得相当好
page.headerData.3 = COA
page.headerData.3 {
4 = TEXT
4.value = <meta property="og:type" content="article">
10 = IMG_RESOURCE
10.file {
import.data = levelmedia:-1, slide
treatIdAsReference = 1
import.listNum = 0
width=1200
}
10.stdWrap.dataWrap = <meta property="og:image" content="{getIndpEnv:TYPO3_REQUEST_HOST}/|" />
10.stdWrap.insertData = 1
20 = TEXT
20 {
typolink.parameter.data = TSFE:id
typolink.forceAbsoluteUrl = 1
typolink.returnLast = url
wrap = <meta property="og:url" content="|" />
}
30 = TEXT
30.value = Lightningsoul
30.wrap = <meta property="og:site_name" content="|" />
40 = TEXT
40.field = title
40.wrap = <meta property="og:title" content=" | - renoi.de" />
40.stdWrap.insertData = 1
50 = TEXT
50.field = description
50.ifEmpty= Renoi ist ein Unternehmen, das Weblösungen wie bspw. Typo3, Wordpress oder Drupal und deren Einrichtung und Weiterentwicklung anbietet.
50.wrap = <meta property="og:description" content="|" />
}