Git / 完成发布 / 排除文件
Posted
技术标签:
【中文标题】Git / 完成发布 / 排除文件【英文标题】:Git / Finish Release / Exclude File(s) 【发布时间】:2014-02-18 23:10:36 【问题描述】:我们的项目分为 4 个不同的 Git 项目(层次结构),其中 leaf 项目是客户部分。
为了发布新版本,我们使用 (SourceTree) 和 GitFlow-Feature。因此,从最新的 dev 分支中创建了一个新分支,当发布完成后,它将被合并回 dev,并填充到 master-branch。
为了更容易开发,我们曾经对所有项目使用固定版本(“dev” insetead of x.y.z),同时在开发分支上工作并设置实际版本,每当我们填充分支时到发布分支。
因此,我们希望避免将 pom 文件合并回 dev-branch。 (pom 中定义的版本应该使用 dev,而所有其他(最终)更改应该合并回 dev。)
有没有办法在不重新发明***的情况下实现这一目标?
所以,在完成发布后:
将所有更改填充到主分支 将更改合并回开发分支,除了 pom 文件?【问题讨论】:
子模块可以提供帮助,将所有子项目作为 git 子模块创建一个聚合项目,然后递归地提交/合并/任何内容。 【参考方案1】:将 pom 文件中的版本更改为自己在发布分支中的提交,并立即“伪造”将其合并回开发分支 (merge --strategy=ours
)。
https://***.com/a/19794987/11296
一旦该提交被合并(甚至是假合并)回到开发中,它的更改将不会包含在未来的合并中回到开发中(直到再次更改 pom 文件)。
注意,如果您在版本更改提交之前在发布分支上有任何提交,请确保您首先“真实”合并这些,然后伪造合并版本更改提交(然后真正合并未来的真实更改,然后伪造未来的版本更改,冲洗并重复...)。
【讨论】:
以上是关于Git / 完成发布 / 排除文件的主要内容,如果未能解决你的问题,请参考以下文章