git for beginners

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

Upload: slava-semushin

Post on 14-Jun-2015

1.829 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Git for beginners

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

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

[email protected]

Page 2: Git for beginners

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

Содержание

Сравнение git и Subversion

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

«с нуля»

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

импортировать из SVN

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

Основные операции (work flow)

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

Вопросы

Page 3: Git for beginners

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

Сравнение git и Subversion

Быстрее нет необходимости обращаться к сети каждый раз написан на Си Линусом Торвальдсом :)

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

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

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

Page 4: Git for beginners

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

Создание проекта: с нуля

git init git init --bare

Page 5: Git for beginners

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

Создание проекта: клонирование существующего

git clone <источник> git clone <источник> <каталог>

Page 6: Git for beginners

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

Создание проекта: импорт из SVN

создание списка авторов semushinv = Slava Semushin

<[email protected]> git-svn

Page 7: Git for beginners

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

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

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

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

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

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

что такое HEAD

Page 8: Git for beginners

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

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

Управление файлами git add git mv git rm

Просмотр истории git log

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

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

Фиксирование изменений git commit

Page 9: Git for beginners

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

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

Создание бранча git branch <имя бранча>

Просмотр бранчей git branch -r git branch -a

Переключение между бранчами git checkout <имя бранча> git checkout –b <имя нового бранча>

Слияние бранчей git merge

Page 10: Git for beginners

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

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

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

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

Page 11: Git for beginners

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

Ссылки

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

) Соответствие команд svn/git

http://git.or.cz/course/svn.html Импорт из SVN

http://www.jonmaddox.com/2008/03/05/cleanly-migrate-your-subversion-repository-to-a-git-repository/

http://stackoverflow.com/questions/79165/how-to-migrate-svn-with-history-to-a-new-git-repository

Удачная модель ветвления http://habrahabr.ru/blogs/Git/106912/

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

ng Сравнение git и других VCS

http://whygitisbetterthanx.com

Page 12: Git for beginners

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

Вопросы?