Elijah Newren <newren@xxxxxxxxx> 于2022年5月10日周二 15:07写道: > > On Sun, May 8, 2022 at 7:44 AM ZheNing Hu <adlternative@xxxxxxxxx> wrote: > > > > Elijah Newren <newren@xxxxxxxxx> 于2022年5月7日周六 12:09写道: > > > > > > On Fri, May 6, 2022 at 10:24 AM Christian Couder > > > <christian.couder@xxxxxxxxx> wrote: > > > > > > > > On Fri, May 6, 2022 at 10:15 AM ZheNing Hu <adlternative@xxxxxxxxx> wrote: > [...] > > > > > 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? > > > > > > MERGE_HEAD doesn't have anything to do with aborting the conflict > > > resolution step. When you need to abort, the thing you want to go > > > back to is HEAD (which represents the commit you had checked out and > > > were merging the other stuff into), not MERGE_HEAD (which represents > > > the branch or branches you were merging into HEAD). > > > > > > > Thanks for clarifying. As I reply to Christian, when I just use "git > > merge A B C" happily, > > and there is a conflict, so I try "git merge --abort" as usual, but it > > can not work... git tell me: > > > > fatal: There is no merge to abort (MERGE_HEAD missing). > > Sounds like a bug to me; .git/MERGE_HEAD should be written. That file > is created for me when I set up a simple octopus merge that has > conflicts. Do you have a set of steps others can use to reproduce the > problem you are seeing? Let me minimally reproduce this question (with git 2.33.0): #!/bin/bash rm -rf test-repo git init test-repo cd test-repo git branch -m main echo base > base git add . git commit -m "base" git branch -c dev-1 git branch -c dev-2 echo main > main git add . git commit -m "main change" git checkout dev-1 echo dev-1 >> base git add . git commit -m "dev-1 change" git checkout dev-2 echo dev-2 >> base git add . git commit -m "dev-2 change" git checkout main echo main >> base git add . git commit -m "main change" git merge dev-1 dev-2 file .git/MERGE_HEAD which output: .git/MERGE_HEAD: cannot open `.git/MERGE_HEAD' (No such file or directory)