Git проверить указанный c тип файла с окончанием строки LF на Windows - PullRequest
0 голосов
/ 05 мая 2020

На Windows, я хотел бы проверить все linux файлы оболочки (. sh) с окончанием строки LF

Концы строк других текстовых файлов должны быть преобразованы в CRLF. (который обрабатывается через глобальный core.autocrlf = true)

  • global .gitconfig

[core] editor = 'C:/Tools/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin autocrlf = true

  • .gitattributes в репозитории root папка

*.sh text eol=lf

Я использовал git add --renormalize . при добавлении файла .gitattributes.

К сожалению, файлы. sh все еще имеют CRLF после проверки.


дополнительная информация: один из членов моей команды действительно изменил свое глобальное ядро. autocrlf = false, некоторые коммиты go, что привело к окончанию строки chaoti c, я полагаю.

С помощью вышеупомянутых шагов я мог бы хотя бы исправить файлы локального репозитория, чтобы снова иметь окончания CRLF. проверка снова: не влияет - все файлы CRLF

удалить файлы, pu sh удаление, воссоздать файлы с LF: все еще CRLF после проверки вручную изменить окончания строк с помощью Notepad ++ ...

user@workstation MINGW64 /c/repos/project-source (bug_sh_files_eol_lf) $ git status On branch bug_sh_files_eol_lf Your branch is up to date with 'origin/bug_sh_files_eol_lf'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: production_code/build_production_code.sh modified: test_code/unit_tests/create_unit_test_xml.sh no changes added to commit (use "git add" and/or "git commit -a") user@workstation MINGW64 /c/repos/project-source (bug_sh_files_eol_lf) $ git add . -u warning: LF will be replaced by CRLF in production_code/build_production_code.sh. The file will have its original line endings in your working directory warning: LF will be replaced by CRLF in test_code/unit_tests/create_unit_test_xml.sh. The file will have its original line endings in your working directory user@workstation MINGW64 /c/repos/project-source (bug_sh_files_eol_lf) $ git status On branch bug_sh_files_eol_lf Your branch is up to date with 'origin/bug_sh_files_eol_lf'. nothing to commit, working tree clean user@workstation MINGW64 /c/repos/project-source (bug_sh_files_eol_lf)

1 Ответ

0 голосов
/ 08 мая 2020

неважно, у меня была опечатка в моем имени файла .gitattributes: - |

тем не менее, решение:

  • исправить .gitattributes

# normalize all introduced text files to LF line endings (recognized by git) * text=auto # additionally declare text file types *.sh text eol=lf *.c text *.h text *.txt text *.yml text

  • вызов "git add --renormalize." исправить окончания строк файлов с CRLF в репозитории
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...