承诺非空格改动

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

我有一个问题,我有一个大的提交,修改了大约一千行代码。

我使用Intellij IDEA进行编码。当更新项目、在另一个分支上签出等时,会出现标签的问题。这就需要在本地变更列表中添加大量文件。虽然内置的diff工具显示 "内容相同"

git diff会返回这样的结果,例如

-       trailingComma: 'es5',
-       useTabs: true,
-       singleQuote: true,
+    trailingComma: 'es5',
+    useTabs: true,
+    singleQuote: true,

也许,问题出在配置文件中

我在下面附上我的全局配置

core.filemode=false
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f
credential.helper=osxkeychain
filter.tabspace.smudge=unexpand -t 4
filter.tabspace.clean=expand -t 4
filter.tabspace2.smudge=unexpand -t 2
filter.tabspace2.clean=expand -t 2

有什么办法可以让git忽略空白处的改变?

git tabs whitespace
1个回答
0
投票

如果你想只添加更改的某些部分,你可以使用 git add -p 来交互式地浏览每个块,并只选择你想要的修改。

然而,在你的情况下,这仍然会是一堆麻烦,Git在这里并没有提供更好的选择。 可以使用smudgeclean过滤器来调整代码,但在这里是行不通的,因为过滤器不知道现有代码是什么格式。

如果现有的代码已经符合你项目的标准,那么最好是修正你的编辑器,这样它就不会无谓地重新格式化代码。 大多数编辑器都有这些设置,并且可以进行适当的配置。 你可以考虑在编辑器中添加 一个 .editorconfig 档案 到你的版本库,告诉大家这些标准是什么,或者使用一个合适的代码格式化工具,要求每个人在签入前运行(可能有CI检查支持)。

如果问题是现有的代码不符合你项目的标准,那么最好创建一个单一的初始提交,按照你项目的标准格式化代码,并且包含 毫无变化然后在第二次的后续提交中进行修改。

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