有人将整个代码库中更漂亮的格式更改合并到我们的
master/main/develop
分支中。
我现在正在尝试根据最新的
master/main/develop
分支进行变基,并解决合并冲突。
由于冲突只是由运行更漂亮的格式化代码引起的,有没有办法自动解决冲突同时保留提交历史?(没有新的合并提交,没有额外的格式化提交)
首先,我们必须确保您的
node_modules
中安装了正确版本的 prettier。让我们想象一下您的 master
分支有新的更漂亮的设置和大量的格式更改:
BASE_BRANCH='master'
FEATURE_BRANCH=`git branch --show-current`
git checkout $BASE_BRANCH &&
git pull &&
yarn install && # pickup new prettier version
git checkout $FEATURE_BRANCH &&
git rebase \
--strategy ort \
--strategy-option theirs \
--empty=drop \
--exec "$(echo \
'yarn prettier --write ' \
'package.json ' \
'$(git diff HEAD^..HEAD --name-only) ' \
'|| echo prettier failed its ok; ' \
'git add . ' \
' && git commit --amend --no-verify --no-edit' \
)" \
$BASE_BRANCH;
package.json 列在 --exec 调用中,因此在空提交的情况下,prettier 不会决定只格式化所有文件?