gpt4 book ai didi

javascript - Lint 和 Prettier 存储库没有大规模合并冲突

转载 作者:行者123 更新时间:2023-11-28 04:21:37 26 4
gpt4 key购买 nike

我最近将我们的代码库更新为 ES6。接下来,我正在改进 linter 规则,并努力在代码库中制定一套标准。我的计划是提交一个初始分支,其中只有 eslint 和更漂亮的设置。然后直接在提交另一个分支后使用 eslint --fix 和 prettier 在其上运行。 (我们可以接受这最终会搞砸很多 git 的指责)。此过渡的主要变化之一是从 4 个空格(以及许多地方的制表符)更改为 2 个空格项​​目宽度。

计划是任何现有分支都能够提取其中包含更漂亮工具的提交。他们可以在正在进行的功能上运行 prettier/eslint,然后应该能够合并。

我遇到的问题是,在测试运行中执行此操作后,功能分支中存在的每个更改都会出现合并冲突。大多数时候,合并冲突根本没有任何冲突。

此问题仅影响现有且当前正在处理的分支,不会影响提交 linting 后创建的任何分支。

我尝试使用不同的算法进行比较/合并。差异看起来不错,但合并后仍然会出现冲突。

是否有人有将现有项目转换为这样的新缩进或进行任何类型的 prettier/eslint --fix 的经验?

最佳答案

这是我的团队成员在升级 Prettier、更改其配置、首次添加等后所做的事情,以防止其分支上的合并冲突问题:

git fetch origin master:master

# rebase against stage, choosing your code in case of a conflict, and then running the new prettier after each commit
git rebase -i master -X theirs \
--exec 'yarn && $(npm bin)/prettier --write $(git diff --name-only head^ | xargs) && git commit -a --amend --no-edit'

我认为,您可以对lint-staged采取类似的方法。

关于javascript - Lint 和 Prettier 存储库没有大规模合并冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45384340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com