SlideShare a Scribd company logo
1 of 81
Download to read offline
Основы Git
1
пятница, 18 октября 13 г.
Что такое Git?

2
пятница, 18 октября 13 г.
Что такое Git?

3
пятница, 18 октября 13 г.
Что такое Git?
• Git это связанный, ориентированный
граф без циклов

• Вершины графа могут иметь метки

4
пятница, 18 октября 13 г.
Комиты = Вершины
Каждая вершина - один комит.
Каждый комит имеет ссылку на родителя.
Родителей может быть несколько
Каждый комит хранит полное состояние
всего репозитория (а не дельту как в
SVN)*
* http://git-scm.com/book/ru/Git-%D0%B8%D0%B7%D0%BD%D1%83%D1%82%D1%80%D0%B8-%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA
%D1%82%D1%8B-%D0%B2-Git

5
пятница, 18 октября 13 г.
Комиты = Вершины
Каждый комит идентифицируется хэшфункцией SHA1
$ git log -1
commit 8d7e037995616c3be2032287030e04b2ef11df25
Author: Oleg Elifantiev <oleg@elifantiev.ru>
Date:
Mon Oct 14 23:54:21 2013 +0400
Fixed method docblock

6
пятница, 18 октября 13 г.
Бранчи = Метки
[ feature ]
o--o--o
/
--о--о--o--o--o
[ master ]
Бранч это всего лишь «метка»,
указывающая на один конкретный комит

7
пятница, 18 октября 13 г.
Бранчи = Метки
[ feature ]
o--o--o
/
--о--о--o--o--o
[ master ]
Бранч в Git - не отдельное поддерево
репозитория, как в SVN.

8
пятница, 18 октября 13 г.
Бранчи = Метки
[ feature ]
o--o--o
/
--о--о--o--o--o
[ master ]
С каждым комитом «метка» перемещается
на новое место.

9
пятница, 18 октября 13 г.
Бранчи = Метки
[ feature ]
o--o--o
/
--о--о--o--o--o----------------о
[ master ]
С каждым комитом «метка» перемещается
на новое место.

10
пятница, 18 октября 13 г.
Бранчи = Метки
[ feature ]
o--o--o
/
--о--о--o--o--o----------------о
[ master ]
С каждым комитом «метка» перемещается
на новое место.

11
пятница, 18 октября 13 г.
Извлечение кода
$ git checkout COMMIT_SHA

Аналог SVN Checkout
Извлекается всегда какой-то комит.
$ git checkout 762df55d
$ git checkout master
$ git checkout topic~4

12
пятница, 18 октября 13 г.
Комит изменений
--------------------------------Repository (git database)
-------------------------------Staging area («index»)
-------------------------------Working copy

---------------------------13
пятница, 18 октября 13 г.
Комит изменений
--------------------------------Repository (git database)
-------------------------------Staging area («index»)

/
-------------------------------- || $
Working copy

---------------------------14
пятница, 18 октября 13 г.

git add file.ext
Комит изменений
--------------------------------Repository (git database)

/
-------------------------------- || $

git commit -m «done!»

Staging area («index»)

/
-------------------------------- || $
Working copy

---------------------------15
пятница, 18 октября 13 г.

git add file.ext
Комит изменений
--------------------------------Repository (git database)
-------------------------------Staging area («index»)
-------------------------------Working copy

---------------------------16
пятница, 18 октября 13 г.
Комит изменений
--------------------------------Repository (git database)

/
-------------------------------- ||
||
Staging area («index») || $
||
-------------------------------- ||
Working copy

---------------------------17
пятница, 18 октября 13 г.

git commit -am «done!»
Комит изменений
Комит в Git - не то же самое что в SVN
Комит в Git НЕ меняет состояние удаленного
репозиторий.
Комит в Git - локальное действие которое можно
откатить, изменить, сделать с ним все что
угодно... пока оно не попало на сервер*
*Потом тоже можно, но ваши коллеги вас за это будут нелюбить...

18
пятница, 18 октября 13 г.
Комит изменений
$ git commit --amend

В Git можно легко переписать последний комит.
Например исправить опечатку в коде или
поправить комментарий. Это позволяет избежать
вот такого лога:
66dbaf53 01.10.13 13:00:00 Исправил ошибку
6dacfa23 01.10.13 13:00:10 Исправил ошибку 2

19
пятница, 18 октября 13 г.
Ветки
Создание ветки и переключение на нее
--o--o--o
[ master ]
$ git checkout -b new-branch

20
пятница, 18 октября 13 г.
Ветки
Создание ветки и переключение на нее
--o--o--o
[ master, new-branch ]
$ git checkout -b new-branch

21
пятница, 18 октября 13 г.
Ветки
Создание ветки и переключение на нее

--o-------o-------o
[ master ]
$ git checkout -b new-branch master~1

22
пятница, 18 октября 13 г.
Ветки
Создание ветки и переключение на нее
[new-branch]
--o-------o-------o
[ master ]
$ git checkout -b new-branch master~1

23
пятница, 18 октября 13 г.
Слияние (Merge)
[ feature ]
o--o--o
/
--о--о--o--o--o
[ master ]
При слиянии образуется новый комит с
несколькими родителями.

24
пятница, 18 октября 13 г.
Слияние (Merge)
[ feature ]
o--o--o
/
--о--о--o--o--o
[ master ]
$ git checkout master
$ git merge feature

25
пятница, 18 октября 13 г.
Слияние (Merge)
[ feature ]
o--o--o----------------/

--о--о--o--o--o----------------o
[ master ]
$ git checkout master
$ git merge feature

26
пятница, 18 октября 13 г.
Слияние (Merge)
[ feature ]
o--o--o----------------/

--о--о--o--o--o----------------o
[ master ]
$ git checkout master
$ git merge feature

27
пятница, 18 октября 13 г.
Слияние (Merge)
Fast-forward
[ feature ]
o--o--o
/
--о--о--o--o--o
[ master ]
Если возможно, Git линеаризует историю

28
пятница, 18 октября 13 г.
Слияние (Merge)
Fast-forward
[ feature ]
o--o--o
/
--о--о--o--o--o
[ master ]
Если возможно, Git линеаризует историю
$ git checkout master
$ git merge feature

29
пятница, 18 октября 13 г.
Слияние (Merge)
Fast-forward
--о--о--o--o--o--о--о--о
[ master, feature ]
Если возможно, Git линеаризует историю
$ git checkout master
$ git merge feature

30
пятница, 18 октября 13 г.
Слияние (Merge)
Fast-forward
[ feature ]
o--o--o
/
--о--о--o--o--o
[ master ]
Но можно отказаться
$ git checkout master
$ git merge feature --no-ff

31
пятница, 18 октября 13 г.
Слияние (Merge)
Fast-forward
[ feature ]
o--o--o
/

--о--о--o--o--o---------o
[ master ]
Но можно отказаться...
$ git checkout master
$ git merge feature --no-ff

32
пятница, 18 октября 13 г.
Rebase
Позволяет перенести кусок истории из
одного места в другое
--о--о--o--o--o [ master ]

о--о [ server ]

33
пятница, 18 октября 13 г.
Rebase
Позволяет перенести кусок истории из
одного места в другое
--о--о--o--o--o [ master ]

о--о [ server ]
$ git checkout server
$ git rebase master

34
пятница, 18 октября 13 г.
Rebase
Позволяет перенести кусок истории из
одного места в другое
--о--о--o--o--o [ master ]

о--о [ server ]
$ git checkout server
$ git rebase master

35
пятница, 18 октября 13 г.
Удаленный
репозиторий
$ git clone https://git.sbis.ru/root/sbis3-ws.git
Cloning into sbis3-ws
...
$ git remote -v
origin https://git.sbis.ru/root/sbis3-ws.git

Клонирует весь репозиторий, все ветки,
всю историю

36
пятница, 18 октября 13 г.
Удаленный
репозиторий
SVN: Checkout/Commit/Update
Git: Clone/Commit+Push/Pull

37
пятница, 18 октября 13 г.
Удаленный
репозиторий
Обновление текущей ветки из удаленного
репозитория
$ git pull

Могут случиться конфликты (как и в SVN
при update)
38
пятница, 18 октября 13 г.
Удаленный
репозиторий
На самом деле pull это...

--о--о--o--o--o--o
[ master ]

39
пятница, 18 октября 13 г.
Удаленный
репозиторий
На самом деле pull это... fetch
[ origin/master ]
o--o--o
/
--о--о--o--o--o--o
[ master ]

40
пятница, 18 октября 13 г.
Удаленный
репозиторий
На самом деле pull это... fetch + merge
[ origin/master ]
o--o--o
/

--о--о--o--o--o--о-----o
[ master ]

41
пятница, 18 октября 13 г.
Удаленный
репозиторий
Отправка своих изменений - push
[ origin/master ]
o--o--o
/

--о--о--o--o--o--о-----o
[ master ]
$ git push origin master

42
пятница, 18 октября 13 г.
Удаленный
репозиторий
Отправка своих изменений - push
o--o--o
/

--о--о--o--o--o--о-----o
[ master, origin/master ]
$ git push origin master

43
пятница, 18 октября 13 г.
Откат изменений
SVN Revert - Git ???

44
пятница, 18 октября 13 г.
Откат изменений
SVN Revert:

•
•

отменяет изменения в локальной копии
НЕ делает новый комит

45
пятница, 18 октября 13 г.
Откат изменений
Git Revert:

•
•

Отменяет указанный комит
ДЕЛАЕТ новый комит в локальном
репозитории

46
пятница, 18 октября 13 г.
Откат изменений
Git Revert:
---о---о---о---о
[ master ]
$ git revert master~1

47
пятница, 18 октября 13 г.
Откат изменений
Git Revert:
---о---о---о---о---о
[ master ]
$ git revert master~1

48
пятница, 18 октября 13 г.
Откат изменений
Если нужно сбросить состояние рабочей
копии на какое-то состояние?

49
пятница, 18 октября 13 г.
Откат изменений
Если нужно сбросить состояние рабочей
копии на какое-то состояние?
Если что-то в процессе....
$ git merge --abort
$ git rebase --abort
$ git revert --abort

50
пятница, 18 октября 13 г.
Откат изменений
Если нужно сбросить состояние рабочей
копии на какое-то состояние?
Если нужно просто откатить локальные
изменения (которые не закомичены)
$ git reset --hard HEAD

51
пятница, 18 октября 13 г.
Откат изменений
Если нужно сбросить состояние рабочей
копии на какое-то состояние?
Если нужно откатить свою локальную
ветку на какое-то предыдущее состояние
$ git reset --hard COMMIT_SHA

52
пятница, 18 октября 13 г.
Откат изменений
$ git reset --hard 12345

--о--о--о--о
[ master, origin/master ]

53
пятница, 18 октября 13 г.
Откат изменений
$ git reset --hard 12345

[ master ]
--о--о--о--о
[ origin/master ]

54
пятница, 18 октября 13 г.
Откат изменений
$ git reset --hard 12345
$ git commit, git commit, git push

о--о [ master ]
/
--о--о--о--о
[ origin/master ]

55
пятница, 18 октября 13 г.
Методологии

56
пятница, 18 октября 13 г.
Centralized workflow
Наиболее простой вариант при переходе
с SVN.
Все комитят в одну ветку.
При этом преимущества Git практически
не используются

57
пятница, 18 октября 13 г.
Feature branch
Каждая фича делается в отдельной ветке.
Все ветки скидываются в master.
о--о--о [ alice-feature ]
/
--о--о--о--о--о [ master]

о--о--о--о--о [ bob-feature ]

58
пятница, 18 октября 13 г.
Feature branch
Каждая фича делается в отдельной ветке.
Все ветки скидываются в master.
о--о--о
/

--о--о--о--о--о--о [ master]

о--о--о--о--о [ bobs-feature ]

59
пятница, 18 октября 13 г.
Feature branch
Каждая фича делается в отдельной ветке.
Все ветки скидываются в master.
о--о--о
/

--о--о--о--о--о--о---------о [ master]

/
о--о--о--о--о

60
пятница, 18 октября 13 г.
Gitflow
Есть ветки для разработки
.--о--о--о [ master ]
| 
| о--о [ hotfix ]
|
о--о--о [ release-2.1 ]
|
/
--о--о--о--о--о [ development ]

о--о--о [ feature ]
61
пятница, 18 октября 13 г.
Gitflow
Есть ветки для разработки, для фичей
.--о--о--о [ master ]
| 
| о--о [ hotfix ]
|
о--о--о [ release-2.1 ]
|
/
--о--о--о--о--о [ development ]

о--о--о [ feature ]
62
пятница, 18 октября 13 г.
Gitflow
Есть ветки для разработки, для фичей
для release-candidate
.--о--о--о [ master ]
| 
| о--о [ hotfix ]
|
о--о--о [ release-2.1 ]
|
/
--о--о--о--о--о [ development ]

о--о--о [ feature ]
63
пятница, 18 октября 13 г.
Gitflow
Есть ветки для разработки, для фичей,
для release-candidate, для релизов
.--о--о--о [ master ]
| 
| о--о [ hotfix ]
|
о--о--о [ release-2.1 ]
|
/
--о--о--о--о--о [ development ]

о--о--о [ feature ]
64
пятница, 18 октября 13 г.
Gitflow
Есть ветки для разработки, для фичей
для release-candidate, для релизов и
хотфиксов
.--о--о--о [ master ]
| 
| о--о [ hotfix ]
|
о--о--о [ release-2.1 ]
|
/
--о--о--о--о--о [ development ]

о--о--о [ feature ]
65
пятница, 18 октября 13 г.
Gitflow
Есть ветки для разработки, для фичей
для release-candidate, для релизов и
хотфиксов
.--о--о--о [ master ]
| 
| о--о [ hotfix ]
|
о--о--о [ release-2.1 ]
|
/
--о--о--о--о--о--о [ development ]

/
о--о--о------66
пятница, 18 октября 13 г.
Gitflow
Есть ветки для разработки, для фичей
для release-candidate, для релизов и
хотфиксов
.--о--о--о--о [ master ]
| 
/
| о--о--|
о--о--о [ release-2.1 ]
|
/
--о--о--о--о--о--о [ development ]

/
о--о--о------67
пятница, 18 октября 13 г.
Gitflow
Есть ветки для разработки, для фичей
для release-candidate, для релизов и
хотфиксов
<2.1>
.--о--о--о--о---о [ master ]
| 
/ /
| о--о--- /
|
о--о--о----|
/

--о--о--о--о--о--о--о [ development ]

/
о--о--о------68
пятница, 18 октября 13 г.
Профиты

69
пятница, 18 октября 13 г.
Быстрый и умный
• Быстрые ветки - удобнее работать

правильно. Для мержа ветки в родителя
не обязательно сливать родителя к себе.

• Умнее разрешение конфликтов (даже
порой решает tree-conflict в случае
перемещения/переименования)

70
пятница, 18 октября 13 г.
Все в ветках
• Никто ни с кем не пересекается во время
разработки фичи

• Видно, какой код попал в релиз, а какой нет

71
пятница, 18 октября 13 г.
Распределенность
• Локально вся история.
• Можно без интернет-подключения
переключиться на любую ветку, на
любую ревизию, вообще в любое
состояние репозитория

• У каждого полная резервная копия
репозитория

72
пятница, 18 октября 13 г.
Минусы

73
пятница, 18 октября 13 г.
Сложный
• Git сложный
$ git commit --help
git commit [-a | --interactive | --patch] [-s] [-v]
[-u<mode>] [--amend]
[--dry-run]
[(-c | -C | --fixup | --squash) <commit>]
[-F <file> | -m <msg>] [--reset-author]
[--allow-empty]
[--allow-empty-message] [--no-verify]
[-e] [--author=<author>]
[--date=<date>] [--cleanup=<mode>]
[--[no-]status]

74
пятница, 18 октября 13 г.
GUI-Клиенты...
$ git commit -m message

75
пятница, 18 октября 13 г.
GUI-Клиенты...
$ git clone https://...

76
пятница, 18 октября 13 г.
GUI-Клиенты...
$ git fetch

77
пятница, 18 октября 13 г.
GUI-Клиенты...
$ git push origin development

78
пятница, 18 октября 13 г.
GUI-клиенты
Я рекомендую SourceTree
http://www.sourcetreeapp.com/

79
пятница, 18 октября 13 г.
GUI-клиенты
Из GUI для Git просто необходим
визуализатор истории...

80
пятница, 18 октября 13 г.
Спасибо за внимание!
Есть вопросы?

пятница, 18 октября 13 г.

More Related Content

What's hot

Die Lean-Reise des Ravensburger Spieleverlag
Die Lean-Reise des Ravensburger SpieleverlagDie Lean-Reise des Ravensburger Spieleverlag
Die Lean-Reise des Ravensburger SpieleverlagLean Knowledge Base UG
 
Version Control System - Git
Version Control System - GitVersion Control System - Git
Version Control System - GitCarlo Bernaschina
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash CourseNilay Binjola
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewRueful Robin
 
Advanced Git Techniques: Subtrees, Grafting, and Other Fun Stuff
Advanced Git Techniques: Subtrees, Grafting, and Other Fun StuffAdvanced Git Techniques: Subtrees, Grafting, and Other Fun Stuff
Advanced Git Techniques: Subtrees, Grafting, and Other Fun StuffAtlassian
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With GitNick Quaranto
 
git - eine praktische Einführung
git - eine praktische Einführunggit - eine praktische Einführung
git - eine praktische EinführungMarcel Eichner
 
Introduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsIntroduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsCarl Brown
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDevHélio Medeiros
 
Git vs SVN
Git vs SVNGit vs SVN
Git vs SVNneuros
 
Gitlab flow solo
Gitlab flow soloGitlab flow solo
Gitlab flow soloviniciusban
 
Git utilisation quotidienne
Git   utilisation quotidienneGit   utilisation quotidienne
Git utilisation quotidienneSylvain Witmeyer
 
A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model abodeltae
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de gitJulien Blin
 
Introduction to Git / Github
Introduction to Git / GithubIntroduction to Git / Github
Introduction to Git / GithubPaige Bailey
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git민태 김
 

What's hot (20)

Die Lean-Reise des Ravensburger Spieleverlag
Die Lean-Reise des Ravensburger SpieleverlagDie Lean-Reise des Ravensburger Spieleverlag
Die Lean-Reise des Ravensburger Spieleverlag
 
Version Control System - Git
Version Control System - GitVersion Control System - Git
Version Control System - Git
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
 
Git & git hub
Git & git hubGit & git hub
Git & git hub
 
Advanced Git Techniques: Subtrees, Grafting, and Other Fun Stuff
Advanced Git Techniques: Subtrees, Grafting, and Other Fun StuffAdvanced Git Techniques: Subtrees, Grafting, and Other Fun Stuff
Advanced Git Techniques: Subtrees, Grafting, and Other Fun Stuff
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With Git
 
git - eine praktische Einführung
git - eine praktische Einführunggit - eine praktische Einführung
git - eine praktische Einführung
 
Introduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsIntroduction to Git Commands and Concepts
Introduction to Git Commands and Concepts
 
Git
GitGit
Git
 
Treinamento git - Papos RBSDev
Treinamento git - Papos RBSDevTreinamento git - Papos RBSDev
Treinamento git - Papos RBSDev
 
Git vs SVN
Git vs SVNGit vs SVN
Git vs SVN
 
Gitlab flow solo
Gitlab flow soloGitlab flow solo
Gitlab flow solo
 
Git utilisation quotidienne
Git   utilisation quotidienneGit   utilisation quotidienne
Git utilisation quotidienne
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de git
 
git and github
git and githubgit and github
git and github
 
Introduction to Git / Github
Introduction to Git / GithubIntroduction to Git / Github
Introduction to Git / Github
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
 

Viewers also liked

ECM-тренды и их отражение в стратегии развития системы DIRECTUM. Открытые дни...
ECM-тренды и их отражение в стратегии развития системы DIRECTUM. Открытые дни...ECM-тренды и их отражение в стратегии развития системы DIRECTUM. Открытые дни...
ECM-тренды и их отражение в стратегии развития системы DIRECTUM. Открытые дни...DIRECTUM
 
Вебинар "Как грамотно инвестировать в ECM в кризис?" из серии Practicum DIRECTUM
Вебинар "Как грамотно инвестировать в ECM в кризис?" из серии Practicum DIRECTUMВебинар "Как грамотно инвестировать в ECM в кризис?" из серии Practicum DIRECTUM
Вебинар "Как грамотно инвестировать в ECM в кризис?" из серии Practicum DIRECTUMDIRECTUM
 
#несекреты документооборота с CMoD
#несекреты документооборота с CMoD#несекреты документооборота с CMoD
#несекреты документооборота с CMoDSergey Yakimchuk
 
Недооцененный потенциал ECM
Недооцененный потенциал ECMНедооцененный потенциал ECM
Недооцененный потенциал ECMStanislav Makarov
 
Новые требования к ECM - ответы российских разработчиков
Новые требования к ECM - ответы российских разработчиковНовые требования к ECM - ответы российских разработчиков
Новые требования к ECM - ответы российских разработчиковDocsvision
 
Git and GitHub for Testers
Git and GitHub for TestersGit and GitHub for Testers
Git and GitHub for TestersJosiah Renaudin
 
Настоящее и будущее СЭД/ECM-решений
Настоящее и будущее СЭД/ECM-решений Настоящее и будущее СЭД/ECM-решений
Настоящее и будущее СЭД/ECM-решений Sergey Poltev
 
Selenium: начало работы
Selenium: начало работыSelenium: начало работы
Selenium: начало работыPaul Stashevsky
 
1 Scrum в большой компании — как это работает (Enterprise Scrum Simulation)
1 Scrum в большой компании — как это работает (Enterprise Scrum Simulation)1 Scrum в большой компании — как это работает (Enterprise Scrum Simulation)
1 Scrum в большой компании — как это работает (Enterprise Scrum Simulation)Magneta AI
 
Сергей Сергеев — Maintainer кода в большом проекте
Сергей Сергеев — Maintainer кода в большом проектеСергей Сергеев — Maintainer кода в большом проекте
Сергей Сергеев — Maintainer кода в большом проектеYandex
 
Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Egor Stremousov
 
A Piece of case.
A Piece of case.A Piece of case.
A Piece of case.TBWA\Moscow
 
Успешная карьера в современной разработки программного обеспечения
Успешная карьера в современной разработки программного обеспеченияУспешная карьера в современной разработки программного обеспечения
Успешная карьера в современной разработки программного обеспеченияSergey Morgunov
 
Сергей Сергеев "Менеджмент кода, или Почему SCM"
Сергей Сергеев "Менеджмент кода, или Почему SCM"Сергей Сергеев "Менеджмент кода, или Почему SCM"
Сергей Сергеев "Менеджмент кода, или Почему SCM"Yandex
 
Распределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitРаспределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitIvan Evtukhovich
 
Адаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1сАдаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1сAlexey Lustin
 
что такое Git и как с ним бороться
что такое Git и как с ним боротьсячто такое Git и как с ним бороться
что такое Git и как с ним боротьсяВладимир Кожаев
 
Continuous delivery в крупном интернет проекте
Continuous delivery в крупном интернет проектеContinuous delivery в крупном интернет проекте
Continuous delivery в крупном интернет проектеSQALab
 

Viewers also liked (20)

ECM-тренды и их отражение в стратегии развития системы DIRECTUM. Открытые дни...
ECM-тренды и их отражение в стратегии развития системы DIRECTUM. Открытые дни...ECM-тренды и их отражение в стратегии развития системы DIRECTUM. Открытые дни...
ECM-тренды и их отражение в стратегии развития системы DIRECTUM. Открытые дни...
 
Вебинар "Как грамотно инвестировать в ECM в кризис?" из серии Practicum DIRECTUM
Вебинар "Как грамотно инвестировать в ECM в кризис?" из серии Practicum DIRECTUMВебинар "Как грамотно инвестировать в ECM в кризис?" из серии Practicum DIRECTUM
Вебинар "Как грамотно инвестировать в ECM в кризис?" из серии Practicum DIRECTUM
 
#несекреты документооборота с CMoD
#несекреты документооборота с CMoD#несекреты документооборота с CMoD
#несекреты документооборота с CMoD
 
Недооцененный потенциал ECM
Недооцененный потенциал ECMНедооцененный потенциал ECM
Недооцененный потенциал ECM
 
Новые требования к ECM - ответы российских разработчиков
Новые требования к ECM - ответы российских разработчиковНовые требования к ECM - ответы российских разработчиков
Новые требования к ECM - ответы российских разработчиков
 
Git and GitHub for Testers
Git and GitHub for TestersGit and GitHub for Testers
Git and GitHub for Testers
 
Настоящее и будущее СЭД/ECM-решений
Настоящее и будущее СЭД/ECM-решений Настоящее и будущее СЭД/ECM-решений
Настоящее и будущее СЭД/ECM-решений
 
Scrum! v1.1
Scrum! v1.1Scrum! v1.1
Scrum! v1.1
 
Selenium: начало работы
Selenium: начало работыSelenium: начало работы
Selenium: начало работы
 
1 Scrum в большой компании — как это работает (Enterprise Scrum Simulation)
1 Scrum в большой компании — как это работает (Enterprise Scrum Simulation)1 Scrum в большой компании — как это работает (Enterprise Scrum Simulation)
1 Scrum в большой компании — как это работает (Enterprise Scrum Simulation)
 
Сергей Сергеев — Maintainer кода в большом проекте
Сергей Сергеев — Maintainer кода в большом проектеСергей Сергеев — Maintainer кода в большом проекте
Сергей Сергеев — Maintainer кода в большом проекте
 
Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"
 
Git flow
Git flowGit flow
Git flow
 
A Piece of case.
A Piece of case.A Piece of case.
A Piece of case.
 
Успешная карьера в современной разработки программного обеспечения
Успешная карьера в современной разработки программного обеспеченияУспешная карьера в современной разработки программного обеспечения
Успешная карьера в современной разработки программного обеспечения
 
Сергей Сергеев "Менеджмент кода, или Почему SCM"
Сергей Сергеев "Менеджмент кода, или Почему SCM"Сергей Сергеев "Менеджмент кода, или Почему SCM"
Сергей Сергеев "Менеджмент кода, или Почему SCM"
 
Распределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitРаспределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере git
 
Адаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1сАдаптация Git flow при коллективной разработке на 1с
Адаптация Git flow при коллективной разработке на 1с
 
что такое Git и как с ним бороться
что такое Git и как с ним боротьсячто такое Git и как с ним бороться
что такое Git и как с ним бороться
 
Continuous delivery в крупном интернет проекте
Continuous delivery в крупном интернет проектеContinuous delivery в крупном интернет проекте
Continuous delivery в крупном интернет проекте
 

Similar to Основы Git

Git для продолжающих
Git для продолжающихGit для продолжающих
Git для продолжающихIvan Evtukhovich
 
Как удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью Git Как удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью Git phpdevby
 
Как удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью GitКак удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью Gitphpdevby
 
Git для начинающих
Git для начинающихGit для начинающих
Git для начинающихVadim Drobinin
 
Внутреннее устройство Git
Внутреннее устройство GitВнутреннее устройство Git
Внутреннее устройство GitTimur Batyrshin
 
Git для новичков
Git для новичковGit для новичков
Git для новичковSoftline
 
GIT Slides (25.03.2015)
GIT Slides (25.03.2015)GIT Slides (25.03.2015)
GIT Slides (25.03.2015)Ilya V
 

Similar to Основы Git (14)

Приручаем Git
Приручаем GitПриручаем Git
Приручаем Git
 
Git для продолжающих
Git для продолжающихGit для продолжающих
Git для продолжающих
 
Как удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью Git Как удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью Git
 
Как удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью GitКак удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью Git
 
Chebit.Git
Chebit.GitChebit.Git
Chebit.Git
 
Git для начинающих
Git для начинающихGit для начинающих
Git для начинающих
 
Внутреннее устройство Git
Внутреннее устройство GitВнутреннее устройство Git
Внутреннее устройство Git
 
Git для новичков
Git для новичковGit для новичков
Git для новичков
 
Git for you
Git for youGit for you
Git for you
 
Git presentation
Git presentationGit presentation
Git presentation
 
Git intro
Git introGit intro
Git intro
 
Git
GitGit
Git
 
GIT Slides (25.03.2015)
GIT Slides (25.03.2015)GIT Slides (25.03.2015)
GIT Slides (25.03.2015)
 
Git for experienced
Git for experiencedGit for experienced
Git for experienced
 

More from oelifantiev

Медиавозможности HTML5. WebRTC
Медиавозможности HTML5. WebRTCМедиавозможности HTML5. WebRTC
Медиавозможности HTML5. WebRTCoelifantiev
 
Пишем Google Extensions. Начальный уровень
Пишем Google Extensions. Начальный уровеньПишем Google Extensions. Начальный уровень
Пишем Google Extensions. Начальный уровеньoelifantiev
 
От 40 до 2 секунд
От 40 до 2 секундОт 40 до 2 секунд
От 40 до 2 секундoelifantiev
 
ES6. Генераторы
ES6. ГенераторыES6. Генераторы
ES6. Генераторыoelifantiev
 
Нетривиальная обработка ошибок
Нетривиальная обработка ошибокНетривиальная обработка ошибок
Нетривиальная обработка ошибокoelifantiev
 
Yarfrontend #2. Как мы делали гуя...
Yarfrontend #2. Как мы делали гуя...Yarfrontend #2. Как мы делали гуя...
Yarfrontend #2. Как мы делали гуя...oelifantiev
 
Yarfrontend #2. Useful services
Yarfrontend #2. Useful servicesYarfrontend #2. Useful services
Yarfrontend #2. Useful servicesoelifantiev
 
JavaScript-модули "из прошлого в будущее"
JavaScript-модули "из прошлого в будущее"JavaScript-модули "из прошлого в будущее"
JavaScript-модули "из прошлого в будущее"oelifantiev
 
Tessel. JavaScript на реальных устройствах.
Tessel. JavaScript на реальных устройствах. Tessel. JavaScript на реальных устройствах.
Tessel. JavaScript на реальных устройствах. oelifantiev
 
Облачные технологии и виртуализация
Облачные технологии и виртуализацияОблачные технологии и виртуализация
Облачные технологии и виртуализацияoelifantiev
 

More from oelifantiev (10)

Медиавозможности HTML5. WebRTC
Медиавозможности HTML5. WebRTCМедиавозможности HTML5. WebRTC
Медиавозможности HTML5. WebRTC
 
Пишем Google Extensions. Начальный уровень
Пишем Google Extensions. Начальный уровеньПишем Google Extensions. Начальный уровень
Пишем Google Extensions. Начальный уровень
 
От 40 до 2 секунд
От 40 до 2 секундОт 40 до 2 секунд
От 40 до 2 секунд
 
ES6. Генераторы
ES6. ГенераторыES6. Генераторы
ES6. Генераторы
 
Нетривиальная обработка ошибок
Нетривиальная обработка ошибокНетривиальная обработка ошибок
Нетривиальная обработка ошибок
 
Yarfrontend #2. Как мы делали гуя...
Yarfrontend #2. Как мы делали гуя...Yarfrontend #2. Как мы делали гуя...
Yarfrontend #2. Как мы делали гуя...
 
Yarfrontend #2. Useful services
Yarfrontend #2. Useful servicesYarfrontend #2. Useful services
Yarfrontend #2. Useful services
 
JavaScript-модули "из прошлого в будущее"
JavaScript-модули "из прошлого в будущее"JavaScript-модули "из прошлого в будущее"
JavaScript-модули "из прошлого в будущее"
 
Tessel. JavaScript на реальных устройствах.
Tessel. JavaScript на реальных устройствах. Tessel. JavaScript на реальных устройствах.
Tessel. JavaScript на реальных устройствах.
 
Облачные технологии и виртуализация
Облачные технологии и виртуализацияОблачные технологии и виртуализация
Облачные технологии и виртуализация
 

Основы Git