3 ms·
What I would like to see is a way to enforce fast-forward only merges along with the forced creation of a merge commit that references the same git tree as the
by u801e 4y ago
What I would like to see is a way to enforce fast-forward only merges along with the forced creation of a merge commit that references the same git tree as the HEAD commit of the branch that was just merged.
This way, you know which set of commits was in the branch by looking at the parent commits of the merge commit, but the merge commit itself did not involve any automated conflict resolution.
- breatheoften 4y agoI've wanted this for awhile as well. Squash only merges, which are enforceable in github, get you close but leave you without any automated way to determine if a given branch was ever merged to main or not ...
- cerved 4y agomerge is the only way to reliable determine if a branch is merged ¯ \ _ ( ツ ) _ / ¯
- wnoise 4y agoYes, it is a shame that you can't combine git merge --ff-only --no-ff .
- cerved 4y agogit rebase && git merge --no--ff
- wnoise 4y ago(a) Because rebase is run on the branch to be rebased, but merge is run on the branch being merged to, that reverses the parents of the merge commit and puts it on the rebased branch rather than the parent. (b) Even if that were fixed, it alters the rebased branch, rather than stopping and warning in an unexpected case. I really do want the natural semantics of merge --ff-only --no-ff.
- cerved 4y agoyou can do this git rebase -r target source && git checkout target && git merge --no-ff target since what your asking for is not a merge, you'd have glue it together by yourself. Perhaps, add it as a script