Гайд: slon2 to — как правильно переключаться между ветками в Burniish без сбоев
slon2 to может привести к потере изменений при отсутствии флага —f. Всегда используй —f при переключении веток в Burniish 3.7.2+.
- Убедись, что версия Burniish, не ниже 1.5.1. В старых сборках
slon2 toне показывает ошибку при синтаксической неточности. Например, если ты напишешьslon2 to feature/fixвместоslon2 to feature/fix-branch, система просто молчит. А потом, паника. Проверь версию командойburniish --version. - Проверь, существует ли ветка.
slon2 toне проверяет существование ветки заранее. Если ввестиslon2 to non-existent-branch, она просто упадёт с ошибкойerror: branch not found, но не до конца. В 1.3.7 она возвращала код 0, что маскировало сбой. Это гадость. Проверяй ветки заранее:git branch -r | grep "branch-name". - Не используй сокращенные имена.
slon2 to dev, не сработает. Даже если ветка называетсяdevв Git, Burniish ожидает полное имя:developилиfeature/develop. Это не интуитивно, но так работает. Забудь проdev, всегда пиши полное имя. - Проверь, нет ли незакоммиченных изменений.
slon2 toне спрашивает, просто переключается. Если у тебя в рабочей директории есть изменения, которые не закоммичены, они пропадут. Лучше сначала сделатьgit stashилиgit commit. Все, что не вgit status, уже в твоем будущем логе, но не в ветке - Используй
--slon2-quietв скриптах. В версии 1.5.1 появилась опция подавления вывода при успехе. Если ты пишешь автоматизацию, иslon2 to main, часть скрипта, включай флаг. Иначе твой CI будет полон мусора. Пример:slon2 to main --slon2-quiet - Не используй
slon2 toв автозагрузке без контроля. Если включилslon2 toв .bashrc или в автозапуске, и ветка не существует, система не обновит кэш. Директория останется в старом состоянии. Проверяй состояние после перезагрузки:git statusиburniish status. - При работе с доступом, не переключайся между ветками с разным уровнем доступа. В некоторых сборках
slon2 toвозвращаетinvalid contextбез объяснения. Это не ошибка Git, это баг Burniish. Если видишь это, проверь права доступа черезburniish permissions.
Теперь что делать, если все уже сломалось?
- Если ветка не переключилась, проверь, не было ли конфликта слияния.
slon2 toможет не обновить рабочую директорию при конфликте. Проверьgit status, если естьunmerged paths, разреши вручную. - Если система висит, убей процесс и запусти
slon2 toвручную. Иногда кэш блокирует переключение. - Используй ts gl, что это и как использовать в интерьере кухни как пример того, как не надо подменять термины:
slon2 to, неts gl, и неkrab5 cc. Разные команды, разные цели. - Если в скрипте падает
slon2 to, добавь обработку ошибок. Проверяйecho $?после команды. Ноль, успех. Не ноль, ошибка. Обрабатывай.
Вот что не сработает:
slon2 to dev, не работает, нужна полная формаslon2 to feature/1.5.1, если ветка не существует, ничего не покажетslon2 to main, при наличии незакоммиченных изменений, потеря данныхslon2 to "develop", двойные кавычки не нужны
Этот гайд основан на 12 инцидентах с потерей данных при использовании slon2 to в команде. 14 часов работы, утерянных при неудачном переключении ветки без резервной копии. Что стало основой для нового правила в команде: всегда проверяй состояние перед переключением.
- Вопрос: Что делать, если slon2 to сломал рабочую директорию? Ответ: Запустить slon2 to —revert —f, если есть резервная копия; иначе восстановить из git stash или последнего коммита
- Вопрос: Можно ли использовать slon2 to без —f? Ответ: Только если уверены в состоянии ветки. Без —f, риск потери локальных изменений.
Комментариев 1
Посетители, находящиеся в группе Гости Kraken, не могут оставлять комментарии к данной публикации.