衍合对主分支

衍合对主分支

问题描述:

我用格里特在我的工作,一个分离的头,它需要使用底垫,而不是合并提交。今天,我检查了以前的承诺利用其散列值,当我跑git的分支命令,我被告知我是“无分支”。我认为这是一个独立的HEAD?在任何情况下,我对重订我的我的主人分公司,并打印到控制台上衍合对主分支

Using index info to reconstruct a base tree... 
Falling back to patching base and 3-way merge... 

在什么地方“3路合并”在这种情况下从何而来?基地组织之后,基金组织是否仍然分离(考虑到“基础树”声明)?谢谢。

是“无分支”是指分离的头

基础版本是制造出来的

git merge-base <yourrevision> master 

将看最后的共同祖先(或合并点,这被认为是一个共同的祖先即使存在手动冲突)也可以建立基本版本。

衍合后,你通常总是在一个新的分离的头,IIRC。现在有很多方法可以调用rebase(包括--root - root),他们的行为可能稍有不同。因此,如果你关心发布使用的rebase命令,我可能会验证我的想法,并可能添加一些评论。

+1

衍合不分离的头,但它完成时,它被重新连接。 – Cascabel 2011-06-03 01:29:47

+0

出于某种原因,在我的情况下,它通常最终完成后deatached ...我得到一些权限被拒绝的东西不时,因此必须使用--continue。 我常说重订-i HEAD〜10,对于挤压最后的提交。任何想法为什么它不会附加回来? – RaptorX 2011-09-15 21:40:20

+0

通常由于合并冲突(可能的伪冲突)。你需要'merge-tool'和'add',然后'rebase --continue'(参见http://*.com/questions/112839/how-to-resolve-a-conflict-with-git-svn/ 112859#112859) – sehe 2011-09-15 21:47:08

由于illustrated here,此错误信息通常是冲突的迹象:

冲突不会消失本身,但在这种情况下,我们解决冲突和继续,和原来的补丁“加另一条消息”将是自己变了:

$ vi main.c 
$ git add main.c 
$ git rebase --continue 

的关键是继续在解决冲突后的底垫。