Пошаговое руководство по созданию чистой и последовательной истории коммитов с помощью 'git rebase'
Ах, представьте себе залитую солнцем кодовую базу, идеальный цифровой лес алгоритмов и логики, где каждая строка кода — это отдельный лист дерева. Но затем вы замечаете их — эти раздражающие, неопрятные кучи журналов коммитов, загромождающие вашу защитную или основную ветку. Это цифровой эквивалент сухих листьев, разбросанных по нетронутой лесной подстилке, каждый из которых кричит: «Я — лишняя часть истории!»
На самом деле я по ошибке отправил множество коммитов в удаленную ветку develop
(защитную ветку), тогда как думал, что помещаю в свою функциональную ветку! Итак, мы найдем способ решить эту неприятную проблему или наведем порядок в нашей ветке с помощью git rebase
, мощного инструмента, способного превратить вашу историю коммитов в ухоженный сад последовательных обновлений.
Шаг 1. Запустите операцию перебазирования
Вот пример журнала коммитов Git.
Откройте свое верное окно терминала, сияющее как маяк безграничных возможностей. Введите:
git rebase -i HEAD~3
Эта волшебная команда просит Git позволить вам в интерактивном режиме перебазировать три последних коммита.
Шаг 2: Вим и симфония «я»
Ах, Вим! Текстовый редактор — это классика, как марочное вино! Когда откроется интерфейс Vim, нажмите клавишу i
. Курсор оживает, как маленький светлячок в летних сумерках, сигнализируя, что вы находитесь в режиме вставки. Теперь измените слово pick
перед коммитами, которые вы хотите сжать, на s
. Сохраните изменения, нажав Ctrl + c
и выйдя из режима вставки. Затем введите :wq
и нажмите Enter, чтобы закрыть Vim и сохранить изменения.
Шаг 3: Продолжение саги о Rebase
Затем снова откройте терминал и введите:
git rebase --continue
Новое окно Vim появляется как по волшебству! Здесь вы можете уточнить свое сообщение о коммите, виртуальное перо, где вы записываете рассказ о том, что собой представляли эти сжатые коммиты. Отредактируйте по своему усмотрению, затем сохраните и выйдите, нажав Ctrl + c
, а затем :wq
.
Шаг 4. Разрешение конфликтов, мирные воины
Во время перебазирования вы можете столкнуться с конфликтами фиксации, например, когда два потока пытаются слиться в реку. Не беспокойся! Просто разрешите эти конфликты и инсценируйте их:
git add .
Шаг 5: Финал и новый рассвет
Запустите git rebase --continue
еще раз, завершите третье сообщение о фиксации и сохраните. Вы почти на месте, как альпинист, делающий последний рывок к вершине.
git log
Вы запускаете эту команду и вуаля! Ваши журналы коммитов чисты, как утренняя роса. А теперь грандиозный финал:
git push -f origin YOUR_BRANCH
Ваши недавно очищенные коммиты теперь находятся в вашем удаленном репозитории, будь то GitHub, GitLab или какой-то другой заколдованный лес кода. Ваши журналы коммитов теперь представляют собой аккуратно сложенную стопку листьев, каждый из которых добавляет красоты и контекста в ваш цифровой лес.
Итак, вот оно, руководство, которое не только поможет вам очистить историю коммитов, но и превратит вашу жизнь программиста в блестящее приключение!
Если вам понравилась эта статья, похлопайте меня в ладоши. Это важно для меня. Спасибо!