当更漂亮的格式应用于整个项目时如何变基

问题描述 投票:0回答:1

有人将整个代码库中更漂亮的格式更改合并到我们的

master/main/develop
分支中。

我现在正在尝试根据最新的

master/main/develop
分支进行变基,并解决合并冲突。

由于冲突只是由运行更漂亮的格式化代码引起的,有没有办法自动解决冲突同时保留提交历史?(没有新的合并提交,没有额外的格式化提交)

git rebase git-rebase prettier
1个回答
1
投票

首先,我们必须确保您的

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 不会决定只格式化所有文件?

© www.soinside.com 2019 - 2024. All rights reserved.