我正在尝试编写一个基于git的工具,但却做了一些相当不寻常的事情,我需要知道:同时运行多个git merge --ff-only [remote-branch]实例以在其中任何一个实例上获得最新提交是否安全?所有的远程都将在同一提交行上。我希望我的工具能够将它们全部生成,然后让git来解决,但我需要知道这是否会导致问题。有没有人对git的内部结构有足够的了解,可以说是这样或那样?
发布于 2011-11-10 01:43:42
如果您正在执行--ff-only合并,为什么不使用git branch --contains或其他方法检查引用,以查看旧的提交是否可达,然后执行重置或更新引用?
这应该非常快,并且有可能避免更新工作目录。
发布于 2011-11-09 16:32:38
Git使用锁来防止并发访问,在最坏的情况下,您的合并尝试将失败,并出现类似lock file exists error的错误。
顺便说一句,合并允许多个合并,有一个章鱼合并策略。
发布于 2011-11-09 16:53:18
在这种情况下,为什么不依次合并每个远程分支,而不是同时生成它们呢?
#!/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.
https://stackoverflow.com/questions/8062067
复制相似问题