1 of 13

2 of 13

Контроль версий?

Не только для кода!

  • Совместное написание книги
  • Работа над дипломом, диссертацией, статьёй (особенно если используется LaTeX)

3 of 13

Определения

Репозиторий — место, где хранятся и поддерживаются какие-либо данные.

Коммит (commit) — внесённые изменения, а также процесс их отправки в хранилище

4 of 13

Системы контроля версий

Централизованные (Subversion, Perforce)

Распределённые (Git, Mercurial)

5 of 13

Особенность Git

Слепки состояний вместо изменений

Если файл не менялся, Git даёт ссылку на ранее сохранённый файл

Вся информация в первую очередь хранится локально

6 of 13

Пайплайн работы

Начало работы

  • Если репозиторий уже есть:
    • git clone [url]
  • Если необходимо создать новый репозиторий:
    • git init
    • git add *
    • git remote add [сокращение] [url]

Обычная работа

Рабочие файлы

Проиндексированные изменения

Локальный репозиторий

Удалённый репозиторий

git add

git commit

git push

7 of 13

Ветки

По умолчанию есть только ветка Master

Рабочий процесс = Workflow. GitFlow, GitHub Flow, GitLab Flow, ...

8 of 13

Графические оболочки

  • Встроенная в IDE, например, PyCharm
  • SourceTree
  • GitKraken

9 of 13

Конфликты слияний

10 of 13

LearnGit.js

Бесплатная, онлайн

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

Разделена на маленькие темы

11 of 13

Ссылки

Git Book - основная книга, есть на множестве языков

Learn Git - обучающая игра

Популярные Git-хостинги: GitHub, BitBucket, GitLab

Варианты процессов работы с Git: GitFlow, GitHub Flow, GitLab Flow

12 of 13

Выводы

  • Системы контроля версий это важно, несложно и интересно!
  • Распределённые системы контроля версий победили
  • Большинство рабочих ситуаций укладывается в команды pull, commit, push, merge
  • Графические оболочки это отлично
  • Тренировки лучшее обучение

13 of 13

Спасибо! Вопросы?

Alëna Ponomarenko

SQEngine && Tools Programmer