TGViewer
.рубик .рубик @dotrubic · 862 subscribers
Post #213 1.41K
Случилась у меня ситуация - человек закоммитил в репу, однако перед этим переел грибов не настроил нормально гит/ вскод, и во всём коде в репе LF заменился на CRLF.

А потом человек сделал ещё два коммита, уже по файлам с CRLF'ами.

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

Каким путем пошел я (абсолютно ебанутый):
1. Берем коммит, делаем на него
git checkout
2. Фиксим crlf в файлах. Я делал так: grep -r -l '\r' . | xargs sed -i '' -e 's|\r$||'
3. Делаем git add && git commit --amend, чтобы получить новый коммит, но уже без дерьма.
4. Записываем хэш получившегося коммита.
5. Повторяем для всех коммитов до последнего.
6. Берем перый коммит, и делаем git cherry-pick всех последующих исправленных коммитов.
8. Перемещаем ветку на новую историю.
9. Форспуш.
10. ?????
11. Профит!

Вообще, вместо cherry-pick, вероятно, достаточно было бы обычного ребейза, но не уверен.
Также, возможно, можно собрать какую-то хитрую команду для гита (жду предложений в комменты :D), которая бы проходилась по коммитам и сама их исправляла, но способ выше был более прямолинейный и простой.

upd: в комментах подсказывают, что таки можно сделать нормально, через git filter-branch: https://stackoverflow.com/a/2466992

И не забываем выдать человеку пиздюлей правильные настройки ide/git'a, чтобы такого больше не случалось.
Stack Overflow Git: Removing carriage returns from source-controlled files I've got a Git repository that has some files with DOS format (\r\n line endings). I would like to just run the files through dos2unix (which would change all files to UNIX format, with \n line end...
  • 🤬 2
  • 🔥 1
More from @dotrubic
  1. Aug 26, 2026Поучаствовал в этом году в составлении хак-квеста для проходки на ZeroNights) Залетайте по…
  2. Jul 14, 2026Your friendly telegram changelog here! Дуров опять придумал всратую херню! Повод выйти из…
  3. Nov 27, 2024У меня тут произошел инцидент: какой-то хмырь скопировал мой профиль и стучался к людям в…
  4. Oct 18, 2024В конце августа мы сделали силами нашей команды CTF для Островка!, а потом вместе с @greg0…
  5. Jul 9, 2024Тут на гитхабе разворачивается очередная дРаМа. Если вкратце: есть в экосистеме питона так…
  6. Jul 7, 2024Сидел я сегодня такой, развлекался с Nix'ом и внезапно обнаружил, что конструкции вида nix…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →