TagGonf: Гид по Гиту Алексей Феофанов веб-разработчик Alexey.Feofanov@softline.ru Что такое Git? Git - распределённая система управления версиями файлов • • • • • Быстрая Компактная Децентрализованная Автономная Легкое ветвление ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - создание проекта • Создание нового проекта из пустой диретории o git init • Клонирование существующего проекта o git clone <источник> • Импорт из SVN o git svn ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - Рабочий процесс • Добавление в индекс o git add • Просмотр истории o git log • Просмотр конкретных изменений o git diff • Просмотр текущего состояния o git status • Фиксирование изменений o git commit ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - Рабочий процесс ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - Рабочий процесс • Отправление своих коммитов на сервер o git push • Получение чужих изменений o o git pull fetch • Переключение между ветками o checkout ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - Рабочий процесс ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - ветки (branches) • Создание ветки o o git branch <имя ветки> git checkout –b <имя новой ветки> • Переключение между ветками o o git checkout <имя бранча> git checkout –b <имя новой ветки> • Слияние веток o git merge ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - ветки (branches) ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - ветки (branches) git commit git commit ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - ветки (branches) ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - ветки (branches) ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - слияние (merge) ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - ветки (branches) git heckout experiment ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - ветки (branches) ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Построение ровной линии коммитов - git rebase ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Git - что еще посмотреть • Книги: o o Pro Git (http://progit.org/book/ru/) Git Magick (http://www-csstudents.stanford.edu/~blynn/gitmagic/intl/ru/) • Сравнение git и других VCS o http://whygitisbetterthanx.com • Шпаргалка с командами o http://ktown.kde.org/~zrusin/git/git-cheat-sheetmedium.png ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет Спасибо за внимание! Вопросы ? www.softline.ru www.softlinegroup.com Алексей Феофанов веб-разработчик Alexey.Feofanov@softline.ru ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ● СЕРВИСЫ ● ОБУЧЕНИЕ ● КОНСАЛТИНГ Россия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Иран, Египет