Если вы знакомы с разработкой мобильных приложений, то вы, вероятно, знакомы с Xcode — интегрированной средой разработки (IDE) Apple, используемой для создания надежных приложений для Mac, iPhone, iPad, Apple TV и Apple Watch. Xcode упрощает управление системой контроля версий благодаря встроенной поддержке Git.
Apple IDE интегрируется с Git and Subversion (SVN) и предоставляет графический пользовательский интерфейс для управления репозиториями контроля версий. Благодаря поддержке управления версиями Xcode вы можете управлять изменениями кода и сотрудничать с другими разработчиками без необходимости использования интерфейса командной строки.
Однако важно отметить, что Xcode не предназначен для использования в качестве автономного инструмента контроля версий и лучше используется в качестве IDE с интеграцией контроля версий.
Почему или когда вам нужно вернуться к предыдущим версиям кода?
Возврат к предыдущей фиксации необходим, если вы хотите отменить изменения, сделанные в {текущей} кодовой базе. Это может быть вызвано различными причинами, такими как:
- Удаление ошибки. Если ошибка появилась в недавней фиксации, вы можете вернуться к предыдущей фиксации, чтобы удалить ее.
- Восстановление удаленного кода. Если вы случайно удалили какой-либо код, вы можете вернуться к предыдущей фиксации, чтобы восстановить его.
- Отмена изменений. Если вы внесли некоторые изменения, которые оказались неправильными или нежелательными, вы можете вернуться к предыдущей фиксации, чтобы отменить их.
- Начать сначала. Если вы сделали несколько коммитов и хотите начать с нуля, вы можете вернуться к первоначальному коммиту.
Во всех этих случаях возврат к предыдущему коммиту позволяет вам вернуться к известному хорошему состоянию кодовой базы, чтобы вы могли уверенно двигаться вперед.
Чтобы вернуться к более старой фиксации Git в Xcode (версия 14), необходимо выполнить следующие действия (нажимайте каждый шаг, чтобы перейти к расширенному разделу со скриншотами ниже):
- Навигатор управления открытым исходным кодом
- Найдите конкретный коммит, к которому вы хотите вернуться
- Создать новую ветку из выбранного коммита
- Зафиксировать изменения в новой ветке
- (Бонус) Объединить изменения из новой ветки обратно в основную ветку
Шаг 1
Сначала запустите проект Xcode и на панели навигации щелкните навигатор управления исходным кодом. Появится список всех коммитов {История коммитов}в репозитории проекта. Вы можете увидеть, как создать новый репозиторий здесь.
Шаг 2
В Навигаторе репозиториев разверните свой Репозиторий и папку Ветки. Найдите фиксацию (в выбранной в данный момент ветке), к которой вы хотите вернуться, и дважды щелкните по ней. Откроется представление Подробности фиксации и отобразятся изменения, внесенные в эту фиксацию.
Шаг 2, продолжение.
Вернитесь к представлению История фиксации и щелкните правой кнопкой мыши конкретную фиксацию. Вы увидите список вариантов, выберите Новая ветвь из «[идентификатор фиксации]». Это создаст новую ветку из выбранного коммита.
Шаг 3
Переключитесь на новую ветку, щелкнув имя ветки в навигаторе исходного кода. Это проверит ветку и приведет проект в состояние, в котором он находился во время выбранного коммита.
Шаг 4
Зафиксируйте последние изменения в новой ветке, нажав кнопку «Подтвердить» на вкладке Управление исходным кодом (в отличие от Навигатора управления исходным кодом). Это создаст новую фиксацию с изменениями из старой фиксации.
Шаг 5 (Бонус)
Если вы хотите объединить изменения из новой ветки обратно в основную ветку, вы можете использовать команду слияния в навигаторе Source Control — вам следует переключиться обратно сначала в основную ветвь!
Возврат к более старой фиксации отменит все изменения, сделанные после этой фиксации. Поэтому обязательно сделайте резервную копию своего проекта, прежде чем возвращаться к старой фиксации.
Примечание. Если вы решите, что все-таки не хотите отменять изменения, вы можете отменить отмену (выполнив те же шаги, что описаны выше) или вернуться к состоянию до отката, нажав Отменить все изменения.
Примечание. Xcode (версия 14) используется для демонстрации в этом посте.
И вот оно, ребята. Удачного программирования и пусть ошибок будет меньше!