Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Backend Developer, Fullstack Developer
Lead
From 350,000 ₽
Designing application architecture
PHP
Golang
Git
CI/CD
Development management
Docker
Database
JavaScript
По делу пишете. С reflog и восстановлением веток — действительно всё проще, чем казалось в моменте. Тогда просто не хватило понимания, да и в голове была каша.
Что касается релиза — да, ветка действительно собиралась в спешке, и это, пожалуй, главный звоночек. Пока у нас процессы скорее стихийные, чем надёжные. Надеюсь, этот случай подтолкнёт к тому, чтобы выстроить их более осмысленно.
Ну а по поводу "удивительных процессов" — согласен, местами удивлён был даже сам 😅
Спасибо, да, всё по делу. Особенно про protected-ветки и документацию релиза — это прям то, о чём теперь сложно не думать. Вся эта история явно подталкивает двигаться в сторону внятного процесса, а не «а ну-ка, попробуем вот так».
Да, ты прав — Git ничего сразу не теряет, просто не так очевидно, как быстро всё восстановить, когда в голове паника :) Про
reflog
уже подсказали выше, теперь точно буду использовать это как первое средство при любой такой ситуации.Спасибо за развёрнутый комментарий — многое резонирует.
Мы как раз сейчас подходим к переосмыслению процессов, и то, что всё держится на одном человеке (в данном случае — на мне), уже само по себе звоночек.
До trunk-based пока не дошли, но кажется, пора двигаться в эту сторону.
Зафиксировал для себя: автоматизация, актуальная дока, меньше ручного — чтобы следующий релиз не превращался в спецоперацию.
Да, согласен, reflog бы всё сильно упростил. Но в моменте пошёл по длинному пути — не без драматизма 😅
Теперь уже разобрался, как можно было проще, спасибо за ссылку. Зато опыт получился на всю команду.
Спасибо, за понимающий комментарий. Да, reset --hard — не зло само по себе, просто требует осторожности и ясной головы.
В моём случае как раз её не хватило :) Поторопился, не оставил ни бэкапной ветки, ни чёткого плана отката — и вот результат.
Теперь точно буду аккуратнее и заведу привычку перед неоднозначными действиями делать временные ветки.
Кажется, я как раз стал очередной стрёмной историей про reset --hard 😅
Спасибо, что поделился своим способом — звучит надёжно, буду пробовать.
Спасибо, что написал! Про
reflog
слышал, но в реальных ситуациях почти не пользовался, так что упустил этот вариант.Будет повод разобраться глубже — выглядит действительно удобнее, чем тот путь, которым пошёл я.
Ушёл тимлид — и жизнь нас быстро проверила на прочность :)
Ошибки свои вижу, выводы сделал. Главное теперь — не повторять.
Спасибо, что так подробно расписал.
Много здравых мыслей, особенно про фичефлаги и стабильность изменений в релизных ветках — это как раз те моменты, которые хотелось бы довести до ума.
Согласен, что подход с dev → master и более чистой изоляцией эпиков с флагами — то, к чему надо стремиться, особенно если хочешь безопасных релизов.
Отдельное спасибо за мысль про снапшоты и бэкапы Git — мы как раз обсуждаем сейчас, как улучшить процессы на случай таких вот сбоев.
Про «слушать старших товарищей» — тоже услышал, без сарказма. Ошибся, сделал выводы.
Да, решение с форс-пушем явно было так себе. По факту всё можно было сделать локально и пушнуть уже чисто.
Почему сделал именно так — на тот момент показалось проще, но сейчас понимаю, что зря. Буду аккуратнее с релизными ветками, вывод сделал.
Спасибо за ссылку, полезная штука.