SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Git в экосистеме Drupalа 
Вадим Валуев 
Много.ру
Контроль версий: когда и зачем 
• Сборка простого сайта через настройки – 
контроль версий не нужен 
• Разработка самописного кода (в том числе 
css) 
• Командная работа 
• Разработка версий продукта (в том числе 
простого сайта, сделанного через 
настройки)
Системы контроля версий: немного 
истории 
• CVS 
• Subversion 
• Mercurial 
• Bazaar 
• Git
Парадигма гита: распределённость, 
ветвление
Основная схема работы с гитом
MAKE ATOMIC 
COMMITS 
• Commit often 
• Perfect later 
• Publish once
Git антиинтуитивен
Основные операции 
• Клонирование: git clone 
• Ветвление: git checkout –b 
• Слияние: git merge 
• Коммит: git add + git commit 
• Социализация: git fetch, git pull, git 
• Полезные команды add -u, commit –a 
• Посложнее: git cherry-pick, git stash
Синтаксис гита 
Was sieht sie 
Wie sieht sie aus 
Was sieht sie vor 
git checkout –b <name> 
git branch –d <name> 
Checkout: переключить ветки, убить 
изменения, создать ветку.
Когда что-то пошло не так 
• До коммита: git checkout -- HEAD 
• В последнем коммите или его комментарии 
есть баг: git commit --amend 
• Вы обнаружили, что делали не то (к 
счастью, другие об этом ещё не знают): 
git reset --soft + git commit 
git reset --hard
Когда всё пошло не так 
«Теория – это когда все всё знают, но ничего не работает. Практика 
– это когда всё работает, но никто не знает, почему. Мы 
совмещаем теорию и практику – ничего не работает и никто не 
знает, почему» 
• git clean 
• git log: it’s crazy flexible. 
• git reset: ищем правильную точку 
• git revert 
• git checkout <path> <revision>
Commit-ish, tree-ish and rubbish 
dae86e1950b1277e545cee180551750029cfe735 
dae86e19 
master@{5} 
master@{yesterday} 
master^2 
master~2 
:/some bug 
HEAD:sites/all 
HEAD, ORIG_HEAD, FETCH_HEAD, 
CHERRY_PICK_HEAD
Git серверы 
В распределённой системе контроля версий все 
репозитории равны, но некоторые более равны. 
• Gitolite: контроль доступа по http/ssh, 
распределение прав на ветки и файлы, 
логгирование 
• Gitosis: управление ключами, правами 
большого количества пользователей 
• Github – веб-интерфейс, управление 
командой
Git для Drupalа 
• .gitignore 
• Settings.php 
• Development modules 
• Features 
• Files 
Stage file proxy 
Drupal Code Quality
Ещё трюки 
• Предупреждение non-fast-forward commits 
• Code revision on commits 
• Code formatting on commits 
• Git hooks in general
Гит в процессе разработки 
• Интеграция с IDE (PHPStorm, Net Beans, 
Eclipse PDT) 
• Интеграция с IssueTrackers (Jira, Redmine)
Спасибо 
организаторам кемпа за отличное 
мероприятие и предоставленную 
возможность выступить. 
Слушателям – за внимание и вопросы 
We are hiring 
gease@mail.ru 
skype:novosibcool

Weitere ähnliche Inhalte

Was ist angesagt?

Платформа для поставки счастья в команду QA
Платформа для поставки счастья в команду QAПлатформа для поставки счастья в команду QA
Платформа для поставки счастья в команду QASlava Kuznetsov
 
Git для тестировщиков
Git для тестировщиковGit для тестировщиков
Git для тестировщиковSQALab
 
Андрей Лузин
Андрей ЛузинАндрей Лузин
Андрей ЛузинCodeFest
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Ontico
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разTimur Batyrshin
 
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Ontico
 
OpenStack: от enterprise к сервис-провайдеру / Сергей Пимков (Селектел)
OpenStack: от enterprise к сервис-провайдеру / Сергей Пимков (Селектел)OpenStack: от enterprise к сервис-провайдеру / Сергей Пимков (Селектел)
OpenStack: от enterprise к сервис-провайдеру / Сергей Пимков (Селектел)Ontico
 
DrupalCafe #2: Константин Комелин - Drupal 8: Aut Caesar aut nihil
DrupalCafe #2: Константин Комелин - Drupal 8: Aut Caesar aut nihilDrupalCafe #2: Константин Комелин - Drupal 8: Aut Caesar aut nihil
DrupalCafe #2: Константин Комелин - Drupal 8: Aut Caesar aut nihilDrupalSPB
 
Ansible in the enterprise
Ansible in the enterpriseAnsible in the enterprise
Ansible in the enterpriseAlex Chistyakov
 
Михаил Юматов: SaltStack
Михаил Юматов: SaltStackМихаил Юматов: SaltStack
Михаил Юматов: SaltStackit-people
 
Организация эффективной разработки проектов на 1С-Битрикс
Организация эффективной разработки проектов на 1С-БитриксОрганизация эффективной разработки проектов на 1С-Битрикс
Организация эффективной разработки проектов на 1С-БитриксArticul Media
 
Игорь Кашкута
Игорь КашкутаИгорь Кашкута
Игорь КашкутаCodeFest
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем ТитаренкоCodeFest
 
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix
 
My talk on Docker, Youcon 2015
My talk on Docker, Youcon 2015My talk on Docker, Youcon 2015
My talk on Docker, Youcon 2015Alex Chistyakov
 
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)Ontico
 
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)Badoo Development
 
Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Egor Stremousov
 

Was ist angesagt? (20)

Платформа для поставки счастья в команду QA
Платформа для поставки счастья в команду QAПлатформа для поставки счастья в команду QA
Платформа для поставки счастья в команду QA
 
Git для тестировщиков
Git для тестировщиковGit для тестировщиков
Git для тестировщиков
 
Андрей Лузин
Андрей ЛузинАндрей Лузин
Андрей Лузин
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
 
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько разRootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
 
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
 
OpenStack: от enterprise к сервис-провайдеру / Сергей Пимков (Селектел)
OpenStack: от enterprise к сервис-провайдеру / Сергей Пимков (Селектел)OpenStack: от enterprise к сервис-провайдеру / Сергей Пимков (Селектел)
OpenStack: от enterprise к сервис-провайдеру / Сергей Пимков (Селектел)
 
DrupalCafe #2: Константин Комелин - Drupal 8: Aut Caesar aut nihil
DrupalCafe #2: Константин Комелин - Drupal 8: Aut Caesar aut nihilDrupalCafe #2: Константин Комелин - Drupal 8: Aut Caesar aut nihil
DrupalCafe #2: Константин Комелин - Drupal 8: Aut Caesar aut nihil
 
переезд мониторинга
переезд мониторингапереезд мониторинга
переезд мониторинга
 
Ansible in the enterprise
Ansible in the enterpriseAnsible in the enterprise
Ansible in the enterprise
 
Про Git
Про GitПро Git
Про Git
 
Михаил Юматов: SaltStack
Михаил Юматов: SaltStackМихаил Юматов: SaltStack
Михаил Юматов: SaltStack
 
Организация эффективной разработки проектов на 1С-Битрикс
Организация эффективной разработки проектов на 1С-БитриксОрганизация эффективной разработки проектов на 1С-Битрикс
Организация эффективной разработки проектов на 1С-Битрикс
 
Игорь Кашкута
Игорь КашкутаИгорь Кашкута
Игорь Кашкута
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем Титаренко
 
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
 
My talk on Docker, Youcon 2015
My talk on Docker, Youcon 2015My talk on Docker, Youcon 2015
My talk on Docker, Youcon 2015
 
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
 
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)
Zabbix в Badoo или о чем не пишут в мануале, Илья Аблеев (Badoo)
 
Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"
 

Ähnlich wie Git - Вадим Валуев

Git для начинающих
Git для начинающихGit для начинающих
Git для начинающихVadim Drobinin
 
Распределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitРаспределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitIvan Evtukhovich
 
GIT: что внутри, и как это работает?
GIT: что внутри, и как это работает?GIT: что внутри, и как это работает?
GIT: что внутри, и как это работает?Tados
 
Git для новичков
Git для новичковGit для новичков
Git для новичковSoftline
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Dmytro Olaresko
 
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...it-people
 
базовые принципы работы с Git
базовые принципы работы с Gitбазовые принципы работы с Git
базовые принципы работы с GitDressTester
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor Dmitrii Stoian
 
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай КондратовБыстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай КондратовFuenteovejuna
 
GIT Slides (25.03.2015)
GIT Slides (25.03.2015)GIT Slides (25.03.2015)
GIT Slides (25.03.2015)Ilya V
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.DrupalForumZP2012
 
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...Badoo Development
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версийDenis Chistyakov
 
Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Sergey Chudakov
 

Ähnlich wie Git - Вадим Валуев (20)

Git для начинающих
Git для начинающихGit для начинающих
Git для начинающих
 
Распределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitРаспределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере git
 
GIT: что внутри, и как это работает?
GIT: что внутри, и как это работает?GIT: что внутри, и как это работает?
GIT: что внутри, и как это работает?
 
Git для новичков
Git для новичковGit для новичков
Git для новичков
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.
 
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
 
базовые принципы работы с Git
базовые принципы работы с Gitбазовые принципы работы с Git
базовые принципы работы с Git
 
Git for you
Git for youGit for you
Git for you
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
 
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай КондратовБыстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
Быстрое развёртывание шаблонов и статики в Mail.ru, Николай Кондратов
 
GIT Slides (25.03.2015)
GIT Slides (25.03.2015)GIT Slides (25.03.2015)
GIT Slides (25.03.2015)
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.
 
Gitlab devconf
Gitlab devconfGitlab devconf
Gitlab devconf
 
iweb01
iweb01iweb01
iweb01
 
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...
Доклад Владислава Чернова & Олега Оямяэ на РИТ++ 2013. "AIDA. Непрерывная инт...
 
GitFlow_MOEX
GitFlow_MOEXGitFlow_MOEX
GitFlow_MOEX
 
Git basis
Git basisGit basis
Git basis
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
 
Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Презентация Git-flow (на русском)
Презентация Git-flow (на русском)
 
Giflow
GiflowGiflow
Giflow
 

Mehr von DrupalCamp MSK

Создание каталога на D7 и фасетный поиск по нему - Андрей Токмаков
Создание каталога на D7 и фасетный поиск по нему - Андрей ТокмаковСоздание каталога на D7 и фасетный поиск по нему - Андрей Токмаков
Создание каталога на D7 и фасетный поиск по нему - Андрей ТокмаковDrupalCamp MSK
 
Открытые данные, как инструмент создания собственных коммерческих приложений ...
Открытые данные, как инструмент создания собственных коммерческих приложений ...Открытые данные, как инструмент создания собственных коммерческих приложений ...
Открытые данные, как инструмент создания собственных коммерческих приложений ...DrupalCamp MSK
 
AngularJS & Drupal - Андрей Березовский
AngularJS & Drupal - Андрей БерезовскийAngularJS & Drupal - Андрей Березовский
AngularJS & Drupal - Андрей БерезовскийDrupalCamp MSK
 
Хуки, токены, рулсы, плагины - пишем "правильный" код под Друпал - Андрей Бе...
 Хуки, токены, рулсы, плагины - пишем "правильный" код под Друпал - Андрей Бе... Хуки, токены, рулсы, плагины - пишем "правильный" код под Друпал - Андрей Бе...
Хуки, токены, рулсы, плагины - пишем "правильный" код под Друпал - Андрей Бе...DrupalCamp MSK
 
От фрилансера до веб-студии за 5 шагов - Геннадий Колтун
От фрилансера до веб-студии за 5 шагов - Геннадий КолтунОт фрилансера до веб-студии за 5 шагов - Геннадий Колтун
От фрилансера до веб-студии за 5 шагов - Геннадий КолтунDrupalCamp MSK
 
Drupal in aerospace - selling geodetic satellite data with Commerce - Martin ...
Drupal in aerospace - selling geodetic satellite data with Commerce - Martin ...Drupal in aerospace - selling geodetic satellite data with Commerce - Martin ...
Drupal in aerospace - selling geodetic satellite data with Commerce - Martin ...DrupalCamp MSK
 
Freelancers Unite! - Martin Mayer
Freelancers Unite! - Martin MayerFreelancers Unite! - Martin Mayer
Freelancers Unite! - Martin MayerDrupalCamp MSK
 
Ask not only what your Drupal can do for you, ask what you can do for your Dr...
Ask not only what your Drupal can do for you, ask what you can do for your Dr...Ask not only what your Drupal can do for you, ask what you can do for your Dr...
Ask not only what your Drupal can do for you, ask what you can do for your Dr...DrupalCamp MSK
 
Облачные технологии, которые упрощают жизнь разработчикам - Игорь Лукянов
Облачные технологии, которые упрощают жизнь разработчикам - Игорь ЛукяновОблачные технологии, которые упрощают жизнь разработчикам - Игорь Лукянов
Облачные технологии, которые упрощают жизнь разработчикам - Игорь ЛукяновDrupalCamp MSK
 
Создание первого ИТ-кооператива в России - Станислав Новиков
Создание первого ИТ-кооператива в России - Станислав НовиковСоздание первого ИТ-кооператива в России - Станислав Новиков
Создание первого ИТ-кооператива в России - Станислав НовиковDrupalCamp MSK
 
Направление: Вектор - Евгений Юртаев
Направление: Вектор - Евгений ЮртаевНаправление: Вектор - Евгений Юртаев
Направление: Вектор - Евгений ЮртаевDrupalCamp MSK
 
Опыт Drupal разработчика на бирже oDesk - Петр Лозовицкий
Опыт Drupal разработчика на бирже oDesk - Петр ЛозовицкийОпыт Drupal разработчика на бирже oDesk - Петр Лозовицкий
Опыт Drupal разработчика на бирже oDesk - Петр ЛозовицкийDrupalCamp MSK
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...DrupalCamp MSK
 
Drupal в облаке - Владимир Юнев
Drupal в облаке - Владимир ЮневDrupal в облаке - Владимир Юнев
Drupal в облаке - Владимир ЮневDrupalCamp MSK
 

Mehr von DrupalCamp MSK (15)

Создание каталога на D7 и фасетный поиск по нему - Андрей Токмаков
Создание каталога на D7 и фасетный поиск по нему - Андрей ТокмаковСоздание каталога на D7 и фасетный поиск по нему - Андрей Токмаков
Создание каталога на D7 и фасетный поиск по нему - Андрей Токмаков
 
Открытые данные, как инструмент создания собственных коммерческих приложений ...
Открытые данные, как инструмент создания собственных коммерческих приложений ...Открытые данные, как инструмент создания собственных коммерческих приложений ...
Открытые данные, как инструмент создания собственных коммерческих приложений ...
 
AngularJS & Drupal - Андрей Березовский
AngularJS & Drupal - Андрей БерезовскийAngularJS & Drupal - Андрей Березовский
AngularJS & Drupal - Андрей Березовский
 
Хуки, токены, рулсы, плагины - пишем "правильный" код под Друпал - Андрей Бе...
 Хуки, токены, рулсы, плагины - пишем "правильный" код под Друпал - Андрей Бе... Хуки, токены, рулсы, плагины - пишем "правильный" код под Друпал - Андрей Бе...
Хуки, токены, рулсы, плагины - пишем "правильный" код под Друпал - Андрей Бе...
 
От фрилансера до веб-студии за 5 шагов - Геннадий Колтун
От фрилансера до веб-студии за 5 шагов - Геннадий КолтунОт фрилансера до веб-студии за 5 шагов - Геннадий Колтун
От фрилансера до веб-студии за 5 шагов - Геннадий Колтун
 
Drupal in aerospace - selling geodetic satellite data with Commerce - Martin ...
Drupal in aerospace - selling geodetic satellite data with Commerce - Martin ...Drupal in aerospace - selling geodetic satellite data with Commerce - Martin ...
Drupal in aerospace - selling geodetic satellite data with Commerce - Martin ...
 
Freelancers Unite! - Martin Mayer
Freelancers Unite! - Martin MayerFreelancers Unite! - Martin Mayer
Freelancers Unite! - Martin Mayer
 
Ask not only what your Drupal can do for you, ask what you can do for your Dr...
Ask not only what your Drupal can do for you, ask what you can do for your Dr...Ask not only what your Drupal can do for you, ask what you can do for your Dr...
Ask not only what your Drupal can do for you, ask what you can do for your Dr...
 
Облачные технологии, которые упрощают жизнь разработчикам - Игорь Лукянов
Облачные технологии, которые упрощают жизнь разработчикам - Игорь ЛукяновОблачные технологии, которые упрощают жизнь разработчикам - Игорь Лукянов
Облачные технологии, которые упрощают жизнь разработчикам - Игорь Лукянов
 
Создание первого ИТ-кооператива в России - Станислав Новиков
Создание первого ИТ-кооператива в России - Станислав НовиковСоздание первого ИТ-кооператива в России - Станислав Новиков
Создание первого ИТ-кооператива в России - Станислав Новиков
 
Ilyin drupal-solr 0
Ilyin drupal-solr 0Ilyin drupal-solr 0
Ilyin drupal-solr 0
 
Направление: Вектор - Евгений Юртаев
Направление: Вектор - Евгений ЮртаевНаправление: Вектор - Евгений Юртаев
Направление: Вектор - Евгений Юртаев
 
Опыт Drupal разработчика на бирже oDesk - Петр Лозовицкий
Опыт Drupal разработчика на бирже oDesk - Петр ЛозовицкийОпыт Drupal разработчика на бирже oDesk - Петр Лозовицкий
Опыт Drupal разработчика на бирже oDesk - Петр Лозовицкий
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
 
Drupal в облаке - Владимир Юнев
Drupal в облаке - Владимир ЮневDrupal в облаке - Владимир Юнев
Drupal в облаке - Владимир Юнев
 

Git - Вадим Валуев

  • 1. Git в экосистеме Drupalа Вадим Валуев Много.ру
  • 2. Контроль версий: когда и зачем • Сборка простого сайта через настройки – контроль версий не нужен • Разработка самописного кода (в том числе css) • Командная работа • Разработка версий продукта (в том числе простого сайта, сделанного через настройки)
  • 3. Системы контроля версий: немного истории • CVS • Subversion • Mercurial • Bazaar • Git
  • 6. MAKE ATOMIC COMMITS • Commit often • Perfect later • Publish once
  • 8. Основные операции • Клонирование: git clone • Ветвление: git checkout –b • Слияние: git merge • Коммит: git add + git commit • Социализация: git fetch, git pull, git • Полезные команды add -u, commit –a • Посложнее: git cherry-pick, git stash
  • 9. Синтаксис гита Was sieht sie Wie sieht sie aus Was sieht sie vor git checkout –b <name> git branch –d <name> Checkout: переключить ветки, убить изменения, создать ветку.
  • 10. Когда что-то пошло не так • До коммита: git checkout -- HEAD • В последнем коммите или его комментарии есть баг: git commit --amend • Вы обнаружили, что делали не то (к счастью, другие об этом ещё не знают): git reset --soft + git commit git reset --hard
  • 11. Когда всё пошло не так «Теория – это когда все всё знают, но ничего не работает. Практика – это когда всё работает, но никто не знает, почему. Мы совмещаем теорию и практику – ничего не работает и никто не знает, почему» • git clean • git log: it’s crazy flexible. • git reset: ищем правильную точку • git revert • git checkout <path> <revision>
  • 12. Commit-ish, tree-ish and rubbish dae86e1950b1277e545cee180551750029cfe735 dae86e19 master@{5} master@{yesterday} master^2 master~2 :/some bug HEAD:sites/all HEAD, ORIG_HEAD, FETCH_HEAD, CHERRY_PICK_HEAD
  • 13. Git серверы В распределённой системе контроля версий все репозитории равны, но некоторые более равны. • Gitolite: контроль доступа по http/ssh, распределение прав на ветки и файлы, логгирование • Gitosis: управление ключами, правами большого количества пользователей • Github – веб-интерфейс, управление командой
  • 14. Git для Drupalа • .gitignore • Settings.php • Development modules • Features • Files Stage file proxy Drupal Code Quality
  • 15. Ещё трюки • Предупреждение non-fast-forward commits • Code revision on commits • Code formatting on commits • Git hooks in general
  • 16. Гит в процессе разработки • Интеграция с IDE (PHPStorm, Net Beans, Eclipse PDT) • Интеграция с IssueTrackers (Jira, Redmine)
  • 17. Спасибо организаторам кемпа за отличное мероприятие и предоставленную возможность выступить. Слушателям – за внимание и вопросы We are hiring gease@mail.ru skype:novosibcool

Hinweis der Redaktion

  1. Плюсом Друпала является то, что можно собирать достаточно сложные сайты через настройки админки, избегая самописного кода и, таким образом, подключения контроля версий, который требует затрат для первоначального обучения и влечёт существенную наценку при разработке.