Если вы знакомы с разработкой мобильных приложений, то вы, вероятно, знакомы с Xcode — интегрированной средой разработки (IDE) Apple, используемой для создания надежных приложений для Mac, iPhone, iPad, Apple TV и Apple Watch. Xcode упрощает управление системой контроля версий благодаря встроенной поддержке Git.

Apple IDE интегрируется с Git and Subversion (SVN) и предоставляет графический пользовательский интерфейс для управления репозиториями контроля версий. Благодаря поддержке управления версиями Xcode вы можете управлять изменениями кода и сотрудничать с другими разработчиками без необходимости использования интерфейса командной строки.

Однако важно отметить, что Xcode не предназначен для использования в качестве автономного инструмента контроля версий и лучше используется в качестве IDE с интеграцией контроля версий.

Почему или когда вам нужно вернуться к предыдущим версиям кода?

Возврат к предыдущей фиксации необходим, если вы хотите отменить изменения, сделанные в {текущей} кодовой базе. Это может быть вызвано различными причинами, такими как:

  1. Удаление ошибки. Если ошибка появилась в недавней фиксации, вы можете вернуться к предыдущей фиксации, чтобы удалить ее.
  2. Восстановление удаленного кода. Если вы случайно удалили какой-либо код, вы можете вернуться к предыдущей фиксации, чтобы восстановить его.
  3. Отмена изменений. Если вы внесли некоторые изменения, которые оказались неправильными или нежелательными, вы можете вернуться к предыдущей фиксации, чтобы отменить их.
  4. Начать сначала. Если вы сделали несколько коммитов и хотите начать с нуля, вы можете вернуться к первоначальному коммиту.

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

Чтобы вернуться к более старой фиксации Git в Xcode (версия 14), необходимо выполнить следующие действия (нажимайте каждый шаг, чтобы перейти к расширенному разделу со скриншотами ниже):

  1. Навигатор управления открытым исходным кодом
  2. Найдите конкретный коммит, к которому вы хотите вернуться
  3. Создать новую ветку из выбранного коммита
  4. Зафиксировать изменения в новой ветке
  5. (Бонус) Объединить изменения из новой ветки обратно в основную ветку

Шаг 1

Сначала запустите проект Xcode и на панели навигации щелкните навигатор управления исходным кодом. Появится список всех коммитов {История коммитов}в репозитории проекта. Вы можете увидеть, как создать новый репозиторий здесь.

Шаг 2

В Навигаторе репозиториев разверните свой Репозиторий и папку Ветки. Найдите фиксацию (в выбранной в данный момент ветке), к которой вы хотите вернуться, и дважды щелкните по ней. Откроется представление Подробности фиксации и отобразятся изменения, внесенные в эту фиксацию.

Шаг 2, продолжение.

Вернитесь к представлению История фиксации и щелкните правой кнопкой мыши конкретную фиксацию. Вы увидите список вариантов, выберите Новая ветвь из «[идентификатор фиксации]». Это создаст новую ветку из выбранного коммита.

Шаг 3

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

Шаг 4

Зафиксируйте последние изменения в новой ветке, нажав кнопку «Подтвердить» на вкладке Управление исходным кодом (в отличие от Навигатора управления исходным кодом). Это создаст новую фиксацию с изменениями из старой фиксации.

Шаг 5 (Бонус)

Если вы хотите объединить изменения из новой ветки обратно в основную ветку, вы можете использовать команду слияния в навигаторе Source Control — вам следует переключиться обратно сначала в основную ветвь!

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

Примечание. Если вы решите, что все-таки не хотите отменять изменения, вы можете отменить отмену (выполнив те же шаги, что описаны выше) или вернуться к состоянию до отката, нажав Отменить все изменения.

Вверх

Примечание. Xcode (версия 14) используется для демонстрации в этом посте.

И вот оно, ребята. Удачного программирования и пусть ошибок будет меньше!