Здравствуйте,
Начну с того, что:
- мой предыдущий опыт программирования НЕ сталкивал меня с системами контроля версий.
- https://githowto.com прочел
Теперь к делу. Проходя курс №2, я понял, что отдельные части когда могут понадобиться мне в будущем. И было бы хорошо иметь рабочие варианты каждого урока и видеть именно ту часть кода, которая добавила новую ф-сть следующего урока. Поэтому делал копию проекта после каждого урока, подробно описывая в комментариях добавленный код. Но после 20го задания я понял, что такой подход не слишком эффективен и нужна какая-то система контроля и управления версиями. В Xcode есть меню Source Control, ф-сть которого я до конца не осилил. Так же есть просто консольный Git, который в теории должен решить все мои задачи.
Вопрос наверно в том, как именно Вы организуете свой процесс разработки iOS/OSX приложений, используя одну или сразу несколько систему управления и контроля версий.
Я вижу это так: Весь курс №2 это проект; каждый урок это релиз с промежуточными коммитами внутри.
каким образом:
- Заморозить и хранить состояние каждого релиза (урока)?
- Переключиться на конкретный релиз (урок) для всего проекта?
- Как откатится на конкретный коммит внутри релиза?
- Сравнить код, который был добавлен конкретным релизом к предыдущему?
- Сравнить код, который был добавлен конкретным коммитом к предыдущему?
Хочу обратить внимание, что я только начинаю программировать и возможно мои вопросы НЕ соответствуют общепринятым правилам управления версиями и разработки.
Буду благодарен за ваш опыт использования систем контроля версий или ссылку на документ который описывает нечто подобное.