是否可以运行多次调用' git merge'同时?

时间:2011-11-09 08:21:21

标签: git

我正在尝试编写一个基于git的工具,但做了一些相当不寻常的事情,我需要知道:一次运行多个git merge --ff-only [remote-branch]实例以获得最新提交是否安全他们中的任何一个?所有遥控器都将在同一行提交。我希望能够让我的工具只生成它们并让git对其进行排序,但我需要知道这是否会导致问题。有没有人对git internals有足够的了解呢?

3 个答案:

答案 0 :(得分:1)

Git使用锁来防止并发访问,在最坏的情况下,您的合并尝试将因lock file exists错误而失败。

BTW,合并允许多次合并,有一个章鱼合并策略。

答案 1 :(得分:1)

如果您正在进行-ff-only merges,为什么不用git branch --contains或其他方式检查引用以查看旧提交是否可访问,然后执行重置或更新 - REF?

这应该非常快,并且可能会避免更新工作目录。

答案 2 :(得分:0)

在这种情况下,为什么不依次合并每个远程分支,而不是同时产生它们?

 #!/bin/sh
 set -e
 for rtb in origin/master github/master gitorious/master
 do
     git merge --ff-only $rtb
 done

如果HEAD已包含其中一个远程跟踪分支,则合并仍会成功返回,说Already up-to-date.