Christian Couder <christian.couder@xxxxxxxxx> 于2022年5月7日周六 01:24写道: > > Hi, > > On Fri, May 6, 2022 at 10:15 AM ZheNing Hu <adlternative@xxxxxxxxx> wrote: > > > I am thinking about if git can "pre-merge" multiple branches, which > > can check if merge > > will have conflict, but not to merge them actually, like a option `--intend`. > > > > I find "git merge-tree" can output merge result in stdout, which meets > > my needs, but it can only > > support two branches' merge. > > Elijah (added in Cc) has been working on "git merge-tree" improvements > based on the new "ort" merge he developed. It supports merging 2 > branches, but maybe there are ways to make it support more than 2. > OK. As he said, there is not such option :( > > So I find git merge with more than two branches can use octopus strategy. > > What about git merge --no-commit? Which will not commit automatically, > > so we can check if they have > > confilct, and abort merge. > > Yeah, I think that's what you want. > > > I think it's not useful for git merge-octopus, because if we meet a > > merge conflict, we can't find > > MERGE_HEAD at all! How can we abort this conflict merge? > > I don't know octopus merges much, but I think you should be able to > abort using "git reset" (maybe with "--hard"). If the merge was > performed using --no-commit or if there was a conflict, then I think > it should be expected that there is no MERGE_HEAD as no commit would > be created so MERGE_HEAD would have nothing to point to. Yes, git reset --hard HEAD is the way get out of merging conflicts. But why git merge --abort doesn't work? I think it may confuse users...