Работа с исходным текстом

Передача файла:

Недостатки обмена патчами.

Задачи:

  1. Учёт версий
  2. Доступное хранение всего кода
  3. Поддержка совместной разработки

Учёт версий

Хранение кода и совместная разработка

Общее название — VCS (Version Control System)

Дисциплина обновления хранилища

Малый цикл (локальная модификация):

  1. Редактирование (до некоторого промежуточного результата)
  2. Проверка того, что результат достигнут
  3. Регистрация изменений (commit)

В случае централизованного сервера с общим доступом превращается в большой цикл:

  1. Обновление рабочей копии(pull)

  2. Редактирование. Не имеет смысла без (1)
  3. Проверка
  4. Регистрация изменений. Не имеет смысла без (5)
  5. Обновление хранилища (push).

Ветки

Большой цикл не всегда успешен => конфликт:

=> Собственные версии хранилища, branches (ветки)

А обратно? => Слияние веток (merge). Дерево превращается в орграф.

DVCS

Не заталкивать всё на сервер, а скачивать друг у друга?

Свойства:

Git

Работа:

  1. clone

  2. Малый цикл: pull → (hack+ → addcommit)+

  3. Исправление коммита git commit -amend

  4. Публикация: push в своё публичное хранилище

Работа с произвольными исходниками:

  1. git init

  2. git add .

  3. git commit -a -m "INITIAL"

  4. git tag Start

  5. Малый цикл
  6. Если не понравилось: git reset --hard Start и git clean -f

  7. Создание патчей git fotmat-patch Start

Всякое:

Материалы

Их туча.

Д/З

LecturesCMC/LinuxApplicationDevelopment2012/04 (last edited 2012-10-26 10:40:31 by FrBrGeorge)