randomizex
@randomizex
http://resume.web-ivan.ru

По ошибке завели ядро bitrix под Контроль версий. Что делать?

Ситуация такая:
Проект был изначально заведен вместе с ядром.
ну соответственно помимо того что он много места занимал + если на тестовом ставить обновления и комитеть изменения ядра то при переносе в мастер те изменения что применялись на базу во время обновления все равно не применяться и в итоге у нас новый код ядра не будет корректно работать на старую базу да и обновления уже не накатишь так как они примерились не верно.

чтобы вывести ядро битрикс из контроля версий я сделал следующее
добавил в .gitignore следующие правила:
bitrix/activities/
bitrix/admin/
bitrix/backup/
bitrix/cache/
bitrix/components/bitrix/
bitrix/css/
bitrix/fonts/
bitrix/gadgets/
bitrix/image_uploader/
bitrix/images/
bitrix/js/
... Полный список могу прислать сразу файлом

Но так как ядро уже присутствует в истории если происходят изменения в этих файлах они все равно попадают в отслеживание
по этому я сделал следующее:
я вызвал на данные папки команды
git rm --cached -r
типо git rm --cached -r bitrix/panel/ bitrix/components/bitrix/ ...
это метит файлы как удаленные но не удаляет их реально
Они попадают в коммит как удаленные.

это я сделал в ветке где разрабатывал.

Но теперь если я делаю пул с мастера он похоже реально удаляет эти файлы при мерже..
я вижу оч неприятную картину что у меня части кода модулей, компонентов пропали и сайт ломается.

сейчас у меня возникла следующая идея

перед пулом с своей веткой на мастере (боевом сайте), Я
- полностью копирую гитигнор с всеми исключениями
- удаляю не по папкам как ранее а реально ВСЕ что попадает под игнор командами:
git rm -r --cached .
git add .
git commit -m "Removing all files in .gitignore"
- И только после этого делаю пул с своей веткой

Как думаете это сработает?
Есть другой вариант?
Сталкивались с подобным и как выходили из этих проблем?
  • Вопрос задан
  • 550 просмотров
Пригласить эксперта
Ответы на вопрос 2
@AlexMt
Automation Q&A Lead
А ещё в истории гита появился жирный такой кусок данных, если поверх того коммита, где удалили всё из кэша и .gitignore уже начали делать другое. Если битрикс со всем кэшом и прочим мусором занимал у вас 3-4 гига, теперь эти 3-4 гига вшиты в историю и всегда будут качаться на машину разработчику, который делает git clone (забирает к себе в папку битрикс первый раз)
Ответ написан
ulkoart
@ulkoart
сработает

git rm -r --cached .
git add .
git commit -m "Removing all files in .gitignore"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы