13
Git для начинающих Слава Семушин, web-разработчик vyacheslav.semushin @softline.ru

Git для новичков

Embed Size (px)

Citation preview

Page 1: Git для новичков

Git для начинающих

Слава Семушин,web-разработчик

[email protected]

Page 2: Git для новичков

SOFTWARE ● SERVICES ● EDUCATION ● CLOUDРоссия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Египет, Румыния, Аргентина, Молдова, Колумбия

Содержание

Что такое git

Как создать репозиторий

«с нуля»

склонировав существующий

Базовые понятия

Основные операции

Полезные ссылки

Вопросы

Page 3: Git для новичков

SOFTWARE ● SERVICES ● EDUCATION ● CLOUDРоссия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Египет, Румыния, Аргентина, Молдова, Колумбия

Что это?

Система управления версиями (VCS) Написана кернел-хакерами Широко распространена

Page 4: Git для новичков

SOFTWARE ● SERVICES ● EDUCATION ● CLOUDРоссия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Египет, Румыния, Аргентина, Молдова, Колумбия

Преимущества

Быстрый нет необходимости обращаться к сети каждый раз написан на Си

Компактнее Децентрализован

отсутствует центральный репозиторий offline режим работы

Лёгок на бранчи

Page 5: Git для новичков

SOFTWARE ● SERVICES ● EDUCATION ● CLOUDРоссия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Египет, Румыния, Аргентина, Молдова, Колумбия

Основные понятия

.git каталог удалённые (remote) репозитории

origin бранчи (ветки)

локальные удалённые

состояние файлов не под управлением git изменён, но не будет закоммичен изменён и будет закоммичен

HEAD

Page 6: Git для новичков

SOFTWARE ● SERVICES ● EDUCATION ● CLOUDРоссия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Египет, Румыния, Аргентина, Молдова, Колумбия

Создание репозитория

Новый git init

Склонированый git clone <источник> git clone <источник> <каталог>

Page 7: Git для новичков

SOFTWARE ● SERVICES ● EDUCATION ● CLOUDРоссия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Египет, Румыния, Аргентина, Молдова, Колумбия

Повседневная работа с git

Управление файлами git add <файл> git mv <старый файл> <новый файл> git rm <файл>

Page 8: Git для новичков

SOFTWARE ● SERVICES ● EDUCATION ● CLOUDРоссия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Египет, Румыния, Аргентина, Молдова, Колумбия

Повседневная работа с git

Просмотр истории git log git log -p git log --stat git log 123_bugfix

Page 9: Git для новичков

SOFTWARE ● SERVICES ● EDUCATION ● CLOUDРоссия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Египет, Румыния, Аргентина, Молдова, Колумбия

Повседневная работа с git

Просмотр конкретных изменений git diff git diff HEAD – git diff --cached git diff master stable git diff origin/master master git diff 4b32..8cf1 git diff HEAD^..HEAD~3

Page 10: Git для новичков

SOFTWARE ● SERVICES ● EDUCATION ● CLOUDРоссия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Египет, Румыния, Аргентина, Молдова, Колумбия

Повседневная работа с git

Просмотр текущего состояния git status

Фиксирование изменений git commit git commit -a git commit <файл или каталог>

Page 11: Git для новичков

SOFTWARE ● SERVICES ● EDUCATION ● CLOUDРоссия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Египет, Румыния, Аргентина, Молдова, Колумбия

Повседневная работа с git: публикация

Отправление своих коммитов на сервер git push git push origin master

Получение чужих изменений git pull git pull = git fetch + git merge

Page 12: Git для новичков

SOFTWARE ● SERVICES ● EDUCATION ● CLOUDРоссия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Египет, Румыния, Аргентина, Молдова, Колумбия

Ссылки

Книги: Pro Git (http://progit.org/book/ru/) Git Magick (http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru/

) Интерактивный тур

http://githowto.com Хорошие статьи на Хабре

http://habrahabr.ru/blogs/Git/60030/ http://habrahabr.ru/blogs/Git/60347/

Шпаргалка с командами http://ktown.kde.org/~zrusin/git/git-cheat-sheet-

medium.png Сравнение git и других VCS

http://whygitisbetterthanx.com

Page 13: Git для новичков

SOFTWARE ● SERVICES ● EDUCATION ● CLOUDРоссия, Азербайджан, Армения, Беларусь, Грузия, Казахстан, Кыргызстан, Таджикистан, Туркменистан, Узбекистан, Украина, Монголия, Турция, Венесуэла, Вьетнам, Египет, Румыния, Аргентина, Молдова, Колумбия

Вопросы?

[email protected]://twitter.com/php_coder