Зафиксируйте непробельные изменения - PullRequest
0 голосов
/ 24 апреля 2020

У меня проблема с большим коммитом, который изменяет около тысячи строк кода.

Я использую Intellij IDEA для кодирования. Проблемы с вкладками появляются при обновлении проекта, оформлении заказа в другой ветке и т. Д. c. Это влечет за собой добавление большого количества файлов в список локальных изменений. Хотя встроенный инструмент сравнения показывает «Содержимое идентично»

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 на игнорирование изменения пробелов?

1 Ответ

0 голосов
/ 25 апреля 2020

Если вы хотите добавить только определенные части изменения, вы можете использовать git add -p, чтобы в интерактивном режиме проходить через каждый блок и выбирать только те изменения, которые вы хотите.

Однако в вашем случае это все еще будет куча хлопот, и Git не предоставляет лучший вариант здесь. Для корректировки кода можно использовать фильтр smudge / clean, но это не сработает, потому что фильтр не знает, в каком формате находится существующий код.

Если существующий код уже соответствует стандартам вашего проекта, тогда лучше исправить ваш редактор, чтобы он не переформатировал код без необходимости. Большинство редакторов имеют эти настройки и могут быть настроены соответствующим образом. Вы можете добавить файл .editorconfig в свой репозиторий, чтобы рассказать всем, что это за стандарты, или использовать подходящий инструмент форматирования кода, который каждый должен запустить перед регистрацией (возможно, с проверкой CI) .

Если проблема заключается в том, что существующий код не соответствует стандартам вашего проекта, то было бы лучше создать одну первоначальную фиксацию, которая форматирует код в соответствии со стандартами вашего проекта и содержит никаких других изменений , а затем внесите изменения за секунду, следите за фиксацией.

...