GIT - the stupid content tracker
(man git)

Vlad Komodey
Парень, который кое-что вам расскажет

Система контроля версий или CTRL-C/CTRL-V?

Я сделаю свою СКВ!

12 лет назад

Сейчас

~50 0000 коммитов.
1101 контрибьюторов
647 релизов

Версии СКВ

Локальная

Версии СКВ

Централизованная

Версии СКВ

Распределенная

GIT

Плюсы:

 

  • Скорость
  • Сложная структура проекта + большая команда. Простое взаимодействие с коллегами
  • Простая модульная разработка
  • Быстрый переход в нужное состояние приложения
  • Ветки

Git workflow

  • git init
  • git status
  • git remote add origin git@github.com:vkomodey/solid-train.git
  • touch README.md
  • git status
  • git add README.md
  • git status
  • git commit -m “My first commit”
  • git status
  • git push origin master

Git с ветками(man git branch)

  • git status // on master branch
  • git branch customer-subscriptions // create customer-subscriptions branch
  • git checkout customer-subscriptions // checkout to customer-subscriptions branch
  • git status
  • git add -A // stage all modified and untracked files
  • git status
  • git commit -m “customer subscription API” // commit all staged files
  • git status
  • git push origin customer-subscriptions

Комиты - чаще, публикуй единожды - git best practices

  • Делайте комиты как можно раньше
  • Не паникуйте(все можно вернуть)
  • Не меняйте историю(эффект бабочки)
  • Понятные сообщения к комитам
  • Поддерживайте актуальное состояние
  • Экспериментируйте!

Git commit messages

2 ways

git commit -m “message”

Самый простой способ сделать комит

git commit

Напишите сообщение с помощью вашего редактора. Эта команда поставит выбранный редактор по умолчанию:

git config --global core.editor "vim"

 

Сообщения к комитам: best practices

  • Значащие
  • Настоящее время
  • Первая буква - заглавная
  • Связывайте комит с задачей(например, с номером карточки в trello - `[321] Add terms and condition page`)
  • KISS(keep it simple, stupid). Сообщение к комиту должно содержать только главную цель вашей работы

Сообщения к комитам: bad practices

Github

  • Хранилище
  • Pull requests(merging, reviewing, shows diffs)
  • Форк репозитория
  • Pull request ревью
  • Интеграция с сторонними сервисами

Github workflow

  • Форки
  • Пулл реквесты
  • Пометки(labels) к пулл реквестам
  • Мерж веток на уровне web interface

GIT Минусы

  • Уязвимости в алгоритме SHA1
  • Git в windows
  • Восстановление конкретного файла(некоторые СКВ используют файлы как основу для своей работы)
  • Большие изменения - больше мегабайт для проекта
  • 1(но не 0) комит. Много команд просто не работают с первоначальным(нулевым) комитом

Not the end..

Вопросы?

 

Влад Комодей.

 Full Stack Javascript разработчик

v.komodey@paralect.com

(Пример) GIT - the stupid content tracker(man git)

By Startup Summer

(Пример) GIT - the stupid content tracker(man git)

  • 199