Разработчик, путешествующий во времени

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

Введение

Представьте, что вы — разработчик, работающий над проектом машины времени. Внезапно появляется ваша версия из будущего и предупреждает о критической ошибке в текущем коде! Вам нужно быстро сохранить текущие наработки, исправить ошибку, а затем вернуться к своей задаче. Это испытание проверит ваши навыки работы с Git stash в условиях ограниченного времени и пространственно-временных аномалий!

Сохранение, исправление и возобновление

Исходное состояние

Вы находитесь в директории ~/project. Директория time-machine представляет собой новый Git-репозиторий со следующими файлами:

  • main-console.txt (содержимое: "Bug: Temporal Flux Unstable")
  • flux-capacitor.txt (содержимое: "Work in progress")
  • new-feature.txt (содержимое: "Untracked feature")

Вы можете использовать команду git status, чтобы проверить текущее состояние репозитория.

Задачи

  1. Сохраните текущие изменения в хранилище (stash), включая все неотслеживаемые файлы.
  2. Исправьте «критическую ошибку» в ветке master, обновив содержимое файла main-console.txt на "Fixed: Temporal Flux Stabilized".
  3. Создайте новую ветку на основе сохраненных в stash изменений и назовите ее future-upgrades.
  4. Убедитесь, что исправление ошибки из ветки master также присутствует в ветке future-upgrades.

Требования

  • Все операции должны выполняться в директории ~/project/time-machine.
  • Убедитесь, что ваши первоначальные изменения (как отслеживаемые, так и неотслеживаемые) присутствуют в новой ветке.
  • Исправление ошибки в main-console.txt должно быть в обеих ветках: master и future-upgrades.

Пример

После завершения испытания ваш репозиторий должен выглядеть следующим образом:

В ветке master:

main-console.txt (content: "Fixed: Temporal Flux Stabilized")

В ветке future-upgrades:

main-console.txt (content: "Fixed: Temporal Flux Stabilized")  ## Содержит исправление ошибки из master
flux-capacitor.txt (content: "Work in progress")              ## Исходные отслеживаемые изменения
new-feature.txt (content: "Untracked feature")                ## Исходный неотслеживаемый файл

Примечание: Чтобы достичь этого состояния, вам нужно будет убедиться, что обе ветки содержат исправление ошибки, при этом сохранив ваши текущие наработки в ветке future-upgrades.

✨ Проверить решение и практиковаться

Резюме

В этом испытании вы попрактиковались в использовании Git stash в симулированной экстренной ситуации. Вы научились быстро сохранять текущие наработки (включая неотслеживаемые файлы), переключать контекст для решения критической проблемы, а затем создавать новую ветку из сохраненных изменений. Эти навыки жизненно важны для поддержания плавного рабочего процесса при возникновении неожиданных задач, позволяя вам совмещать несколько обязанностей, не теряя результатов работы и не нарушая концентрацию.

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