Xcode и контроль версий


#1

Здравствуйте,

Начну с того, что:

  1. мой предыдущий опыт программирования НЕ сталкивал меня с системами контроля версий.
  2. https://githowto.com прочел

Теперь к делу. Проходя курс №2, я понял, что отдельные части когда могут понадобиться мне в будущем. И было бы хорошо иметь рабочие варианты каждого урока и видеть именно ту часть кода, которая добавила новую ф-сть следующего урока. Поэтому делал копию проекта после каждого урока, подробно описывая в комментариях добавленный код. Но после 20го задания я понял, что такой подход не слишком эффективен и нужна какая-то система контроля и управления версиями. В Xcode есть меню Source Control, ф-сть которого я до конца не осилил. Так же есть просто консольный Git, который в теории должен решить все мои задачи.

Вопрос наверно в том, как именно Вы организуете свой процесс разработки iOS/OSX приложений, используя одну или сразу несколько систему управления и контроля версий.

Я вижу это так: Весь курс №2 это проект; каждый урок это релиз с промежуточными коммитами внутри.

каким образом:

  1. Заморозить и хранить состояние каждого релиза (урока)?
  2. Переключиться на конкретный релиз (урок) для всего проекта?
  3. Как откатится на конкретный коммит внутри релиза?
  4. Сравнить код, который был добавлен конкретным релизом к предыдущему?
  5. Сравнить код, который был добавлен конкретным коммитом к предыдущему?

Хочу обратить внимание, что я только начинаю программировать и возможно мои вопросы НЕ соответствуют общепринятым правилам управления версиями и разработки.

Буду благодарен за ваш опыт использования систем контроля версий или ссылку на документ который описывает нечто подобное.


#2

Для хранения кусков лучше использовать специальное ПО, например snippetslab.

Что касается контроля версий, вам вполне будет достаточно локального репозитория.

Что бы его подключить, ставьте галочку:

После изменений жмите commit:

Что бы посмотреть все коммиты:

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

Что бы вернуться к предыдущему коммиту, нужно убрать шкалу и нажать discard change:


#3

Спасибо.
Понимание пришло после прочтения вот этой книжки:
https://git-scm.com/book/ru/v1
А именно вот этой статьи: https://git-scm.com/book/ru/v1/Ветвление-в-Git-Основы-ветвления-и-слияния


#4

Создал ветки через консоль.
11
ИксКод в упор не видит ветвления…
00
Коммиты делает, а меню ветвления нет - что не так?

Папка правильная
21

Git поставил вчера версии 2.21.0. ИксКод 10.2.


#5

В десятом икскоде контроль над ветками сюда переехал:


#6

Ох ты ж! Век бы искал. Спс.

переключаться я так понимаю теперь так
59
А как переключиться без коммита изменений?


#7

на первый взгляд менее удобно, чем всё в одном месте…


#8

https://git-scm.com/book/ru/v1/Инструменты-Git-Прятанье


#9

Я в основном через консоль юзаю и вам советую)


#10
  1. https://learngitbranching.js.org прокачай работу с гитом из консоли
  2. поставь какой-нидь удобный клиент для работы с гитом (gitkraken, fork, gitup… ну или из консоли) %)

И управляй коммитами .версиями и пр.


#11

знаю, начинал, забросил без реальной практики. А тут думаю, что это - пора уже, а то столько раз переделывал и потом не мог откатиться )))