自动git合并

时间:2012-04-04 22:01:11

标签: git merge

我的用例就是这个......

我有一个有两个生产分支的项目。任何分支中的大多数更改都需要合并到另一个分支中。只有非常具体和不常见的变化需要在两个分支中分开。

我想要做的是在主远程存储库上的两个分支之间建立一个自动合并,用作生产构建机器的源,这样任何将某些东西推入分支A的人都会自动将它合并到分支B和处理一个特殊的不合并推送(不经常发生)手动。

任何简单的方法吗?

1 个答案:

答案 0 :(得分:2)

你可以使用post-receive git hook。当有人推送到主远程存储库时,会调用一个脚本(钩子),您可以在其中获取各种信息,推送的内容,预览提交哈希值和新提交哈希值。

在这里,您可以准确确定推送的分支。根据这些信息,您可以在另一个存储库中检出另一个分支,进行合并并推送此信息。

.git / hooks /文件夹中有一个post-receive.sample文件。将其重命名为post-receive并确保它是可执行的。在bash中它可能看起来像:

#!/bin/sh
# <oldrev> <newrev> <refname>
while read oldrev newrev ref
do
    echo "$oldrev $newrev $ref"
done