草庐IT

git - 如何防止 'master' 分支中的狐步舞 merge ?

foxtrotmerge是一种merge,其中'origin/master'作为第二个(或更高版本的)父级merge,如下所示:提交“D”是一个狐步舞merge,因为“origin/master”是它的第二个父级。请注意此时来自“origin/master”的第一父历史如何包含提交“B”。但在我的git仓库中,我需要所有涉及“origin/master”的merge,以将“origin/master”保留为第一个父级。不幸的是,git在评估提交是否符合快进条件时并不关心父顺序。这导致我的主分支上的第一个父历史有时会丢失曾经存在的提交(例如,“gitlog--first-parent”的