Перенесите в старый выпуск только исправление

GitBeginner
Практиковаться сейчас

Введение

Поддерживаемому путеводителю Harbour Loop нужно одно исправление ссылки скачивания. Разработка уже содержит это исправление наряду с неодобренным редизайном Explorer. В исходном рабочем дереве main по-прежнему есть подготовленная работа над планом фотографий, дополнительный неподготовленный черновик обложки и неотслеживаемая личная заметка.

Используйте приём с рабочими деревьями из первой пошаговой работы, чтобы дать существующей ветке сопровождения чистый рабочий каталог. Прочитайте настоящие патчи, выберите одно самодостаточное исправление и перенесите только это изменение с помощью cherry-pick. Затем проверьте полезный файл старого издания и убедитесь, что ни редизайн, ни ваша незавершённая работа не попали в выпуск.

Этот модуль инициализирует собственные репозитории и файлы; он не использует предыдущую VM. Нужны базовые навыки terminal/commit/branch/log/diff, а также понятия связанного рабочего дерева и небольших файлов, изученные в первой пошаговой работе. Код сайта и учётная запись на хостинге не нужны. Используйте Workspace и Release Desk. Настоящий предпросмотр Git/HTTP локален для одной учебной машины и читает коммиты веток, а не изменения рабочих файлов. Все маршруты и личности вымышленные. Продолжительность 40 минут — авторская оценка.

Найдите исправление и откройте рабочее дерево сопровождения

На этом шаге вы увидите ожидаемый скачиваемый файл, отличите изолированное исправление от редизайна и откроете существующую старую ветку, не затронув main.

Откройте Release Desk, затем Open supported release. Проверьте Harbour Loop, Pocket Edition 1.0, 3.2 km и North Pier. Используйте Download quick start, откройте quick-start.txt через список загрузок браузера и проверьте исходное место встречи и короткий список подготовки.

Используйте Download full guide. Ожидается настоящая страница 404 Guide not found, затем нажмите Back to release. Сервис доступен, но ссылка этого выпуска указывает на файл, которого в нём нет.

Используйте All releases, затем Open development preview. Explorer Edition 2.0 не одобрено. Его Download full guide уже работает: откройте harbour-guide-v1.txt через список загрузок и прочитайте исходные три указания, старт у North Pier, расстояние 3.2 km и напоминание о дорожках и мусоре. Сохраните это полезное исправление, оставив редизайн за пределами выпуска. Используйте All releases для возврата.

Переключитесь на Workspace и явно войдите в исходный рабочий каталог:

cd /home/labex/project/release-desk/editor

При обычных ошибках пути используйте pwd и ls, затем повторите эту полную cd; не сбрасывайте VM. Задайте локальные данные автора репозитория. Параметр --local влияет на этот репозиторий и его связанные рабочие деревья, а не на глобальную конфигурацию. Вымышленные примеры в кавычках можно заменить:

git config --local user.name "Guide Editor"
git config --local user.email "guides@example.com"

Прочитайте незавершённое состояние перед сопровождением:

git branch --show-current
git status --short
git --no-pager diff --cached -- preview.txt
git --no-pager diff -- preview.txt
cat private-note.txt

Как и в первой работе, ожидаются main, MM preview.txt и ?? private-note.txt. Первая разница показывает подготовленное добавление Plan: add dusk photographs.. Вторая показывает дополнительное неподготовленное добавление Draft: try the violet cover.. Сохраните их отдельное содержимое и личную заметку. Параметр --cached выбирает сравнение индекса с коммитом; обычный diff сравнивает рабочие файлы с индексом. --no-pager выводит результат напрямую, а -- отделяет следующий путь.

Прочитайте историю коммитов разработки. Параметр --oneline сокращает каждую запись, а --decorate подписывает указатели и теги:

git --no-pager log --oneline --decorate dev-start

Неподвижный тег dev-start отмечает полученную вершину main. От новейшего к старейшему подготовленная история содержит Plan the Explorer photo collection, Correct the Harbour Loop download link, Introduce the Explorer redesign и Prepare the supported Harbour Loop guide. Сохраните тег и вершину main неизменными.

Изучите последнее изменение, прежде чем выбирать его. Команда show показывает выбранный коммит и его патч:

git --no-pager show dev-start

Он меняет explorer-plan.txt. Это посторонняя будущая работа. Исправление находится за одного родителя до неподвижной закладки. ~1 выбирает этого родителя без изменения вашего рабочего состояния:

git --no-pager show dev-start~1

Его полный патч меняет только однострочный full-guide.path: /downloads/harbour-guid-v1.txt становится /downloads/harbour-guide-v1.txt. Это исправление самодостаточно; ему не нужен редизайн. Изучите и тот более ранний редизайн. ~2 означает переход на два шага назад по связям с родителями от неподвижной закладки и выбирает один предковый коммит:

git --no-pager show dev-start~2

Он меняет название издания и добавляет планы Explorer. Слияние всей ветки разработки принесло бы эти неодобренные изменения вместе с полезным исправлением.

Откройте существующую поддерживаемую ветку рядом с main. .. обозначает родительский каталог, а второй аргумент явно выбирает существующую ветку вместо создания новой из main:

git worktree add ../supported-v1 release/1.0
git worktree list
cd ../supported-v1
git branch --show-current
git status --short
cat release.txt

Ожидаются оба каталога в собственном списке рабочих деревьев Git, ветка release/1.0, чистое состояние сопровождения и название Pocket Edition 1.0. Отдельный индекс даёт cherry-pick необходимую чистую цель, пока черновик main остаётся на месте. Если вы ошибочно попросите снова добавить main, изученный в первой работе отказ из-за уже выбранной ветки не требует force или reset: изучите git worktree list и используйте существующую поддерживаемую ветку.

Примените исправление и проверьте сохранённый выпуск

На этом шаге вы перенесёте только выбранный патч в старый выпуск, проверите настоящий путеводитель и подтвердите сохранность исходной работы разработки.

Оставайтесь в Workspace, в /home/labex/project/release-desk/supported-v1. Операция cherry-pick берёт изменение, внесённое выбранным коммитом, и применяет его в текущей ветке, обычно записывая новый коммит. Она не объединяет всех предков выбранного коммита. В этом сценарии родитель старой ветки отличается от родителя исходного исправления, поэтому новое исправление получит собственный идентификатор коммита.

Прочитайте старую ссылку один раз, затем примените изученное изолированное исправление. Тег виден из обоих связанных рабочих деревьев, поскольку объекты и ссылки репозитория общие:

cat full-guide.path
git cherry-pick dev-start~1

Ожидается один новый коммит с темой о ссылке скачивания и изменением одного файла, без конфликта. Этот подготовленный патч меняет ту же небольшую настройку на поддерживаемой базовой версии; у него нет цепочки зависимостей. Ваш идентификатор коммита может отличаться.

Изучите, что именно получила ветка сопровождения. Неподвижный тег supported-start отмечает полученную старую вершину, HEAD — текущий коммит этого рабочего дерева, а diff сравнивает эти снимки:

git --no-pager diff supported-start HEAD

Ожидается только исправление пути полного путеводителя. Не должно быть изменений в release.txt, содержимом путеводителя и исходном тексте предпросмотра, а также файлов только для Explorer. Изучите настоящую историю и чистое состояние цели:

git --no-pager log --oneline --decorate
git status --short
cat release.txt

Должно быть одно исправление непосредственно после исходного поддерживаемого коммита. Коммиты редизайна разработки и плана фотографий отсутствуют среди предков этой ветки. Точное написание сообщения не является критерием успеха; критерии — изолированный патч, правильная базовая версия и сохранённые файлы.

Переключитесь на Release Desk, нажмите Release Desk в шапке для возврата к обзору, затем Open supported release. Должны сохраниться Pocket Edition 1.0, Harbour Loop, 3.2 km и North Pier. Локальный предпросмотр читает коммит ветки, которую вы только что продвинули; удалённое или производственное развёртывание не имитируется.

Нажмите Download full guide. Откройте настоящий harbour-guide-v1.txt через список загрузок браузера. Сравните полное содержимое с ранее прочитанным файлом из разработки: старт у North Pier; все три указания через Clock Steps, старую лодочную станцию и Anchor Square; 3.2 km; и заключительное напоминание о дорожках и мусоре. Исправление доставляет исходный поддерживаемый путеводитель, а не новый маршрут Explorer. Одна ссылка скачивания или успешный код состояния не доказывают полноту содержимого.

Используйте Download quick start и сохраните его исходный список подготовки. Через All releases откройте предпросмотр разработки и подтвердите, что Explorer Edition 2.0 не изменилось. Вернитесь через All releases.

Переключитесь на Workspace и снова войдите в исходный каталог main. Другой каталог меняет то, индекс какого рабочего дерева изучают ваши команды. Параметр журнала -1 ограничивает вывод новейшим коммитом:

cd /home/labex/project/release-desk/editor
git branch --show-current
git --no-pager log -1 --oneline --decorate
git status --short
git --no-pager diff --cached -- preview.txt
git --no-pager diff -- preview.txt
cat private-note.txt

Новейшим коммитом по-прежнему должен быть исходный коммит плана фотографий, отмеченный dev-start. Ожидаются исходные MM preview.txt и ?? private-note.txt из main, то же подготовленное предложение о плане фотографий, отдельное неподготовленное предложение о фиолетовой обложке и неизменная личная заметка. Не сохраняйте их в коммите и не отбрасывайте только ради чистого состояния. Оставьте поддерживаемое рабочее дерево доступным. Проверка оценивает связанность рабочих деревьев, историю поддерживаемой ветки и каждый требуемый файл вместе с настоящими скачиваниями и сохранностью main.

Резюме

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

Полный путеводитель и краткое руководство для скачивания остались полными, а вершина ветки разработки, подготовленная и неподготовленная версии черновика и личная заметка сохранились. Независимое испытание меняет поддерживаемую ветку, путеводитель и положение исправления, поэтому выбирайте по свидетельствам, а не копируйте смещение.