SlideShare une entreprise Scribd logo
1  sur  23
Системы управления версиями
          (VCS).
      Знакомство с Git.



  Дмитрий Олареско
  dolar4ik@gmail.com
VCS - зачем это нужно?
Типы VCS.


Централизованные системы управления версиями
Распределённые системы управления версиями
Централизованные системы
       управления версиями

Perforce
Ubisoft, Google, NVIDIA,
Nikon
CVS
SVN
Apache, Python, PHP,
Ruby, Mono, FreeBSD,
Haiku, MediaWiki
Распределённые системы
        управления версиями

Mercurial
OpenOffice, Mozilla,
NetBeans, OpenSolaris
Git
Linux, Android, Wine, Debian,
Drupal, jQuery, Chromium
Bazaar
MySQL, GNOME for Java,
Emacs
Знакомство с Git.
                  Слепки вместо патчей
Стандартный подход хранения изменений    Подход Git
Знакомство с Git.


Основная часть работы ведется локально
Целостность данных (SHA-1 хэш)
«Потерять» изменения практически
 невозможно
Знакомство с Git.


Ветвление, как основной принцип работы
«Легкое» слияние (merge)
Git. Приемы работы.
git init
git clone
git add <file> (add file to index, staging area)
  dmitry@dmitry-laptop:~/gitpresentation/repo1$ git status
  # On branch master
  # Changed but not updated:
  # (use "git add <file>..." to update what will be committed)
  # (use "git checkout -- <filea>..." to discard changes in working directory)
  #
  # modified: test.txt
  #
  # Untracked files:
  # (use "git add <file>..." to include in what will be committed)
  #
  # README
  no changes added to commit (use "git add" and/or "git commit -a")
git commit (git commit -a -m)
git reset HEAD <file> – unstage file
git checkout -- <file> – unmodify file
git diff (--cached, --no-prefix)
git rm
git log
git branch (-a)
git checkout <branch>
git checkout -b <branch>
git merge <branch>
git branch -d
Git bisect
git bisect start
git bisect bad
git bisect good [commit]

   $ git bisect start
   $ git bisect bad
   $ git bisect good v1.0
   Bisecting: 6 revisions left to test after this
   [ecb6e1bc347ccecc5f9350d878ce677feb13d3b2] error handling
   on repo
Git flow
gitk
gitg
git stash (git stash apply)


$ git stash list
stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051... Revert "added file_size"
stash@{2}: WIP on master: 21d80a5... added number to log
Merge conflict
mergetool
git-svn. hg-git
Полезные ссылки.
доклад Линуса Торвальдса о Git на Google
  Talks: http://www.youtube.com/watch?
  v=4XpnKHJAok8
http://proft.me/2010/10/17/spravochnik-po-git-i-
  mercurial/
http://drupal.org/node/783086
http://githowto.com/
http://progit.org/book/ru/
Системы управления версиями
          (VCS).
      Знакомство с Git.



  Дмитрий Олареско
  dolar4ik@gmail.com

Contenu connexe

Tendances

Git (presentation)
Git (presentation)Git (presentation)
Git (presentation)Anton Ivanov
 
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверамиСтажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверами7bits
 
Git - распределенная система контроля версий
Git - распределенная система контроля версийGit - распределенная система контроля версий
Git - распределенная система контроля версийOleg Poyaganov
 
Антон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantАнтон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantDaria Oreshkina
 
Андрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыАндрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыDrupalSib
 
Владимир Гриненко —Инструменты фронтенд-разработчика
Владимир Гриненко —Инструменты фронтенд-разработчикаВладимир Гриненко —Инструменты фронтенд-разработчика
Владимир Гриненко —Инструменты фронтенд-разработчикаYandex
 
Open stack в 2ГИС
Open stack в 2ГИСOpen stack в 2ГИС
Open stack в 2ГИСDenis Honig
 
Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerAnton Maksimov
 
Docker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяDocker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяСергей Ладыгин
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктуройdddpaul
 
Сергей Сергеев "Менеджмент кода, или Почему SCM"
Сергей Сергеев "Менеджмент кода, или Почему SCM"Сергей Сергеев "Менеджмент кода, или Почему SCM"
Сергей Сергеев "Менеджмент кода, или Почему SCM"Yandex
 
Source Control Addon for InterSystems Caché with UDL support
Source Control Addon for InterSystems Caché with UDL supportSource Control Addon for InterSystems Caché with UDL support
Source Control Addon for InterSystems Caché with UDL supportInterSystems
 
Введение в Docker
Введение в Docker Введение в Docker
Введение в Docker Andrey Markelov
 
06 php instalation_ru
06 php instalation_ru06 php instalation_ru
06 php instalation_rumcroitor
 
Gitify - швейцарский нож для MODX-воина
Gitify - швейцарский нож для MODX-воинаGitify - швейцарский нож для MODX-воина
Gitify - швейцарский нож для MODX-воинаMODX Беларусь
 
Телепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup MinskТелепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup MinskMODX Беларусь
 
ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))Kristina Pomozova
 
Linux for newbie hackers
Linux for newbie hackersLinux for newbie hackers
Linux for newbie hackersdefcon_kz
 

Tendances (20)

Git (presentation)
Git (presentation)Git (presentation)
Git (presentation)
 
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверамиСтажировка 2015. Разработка. Занятие 7. Работа с серверами
Стажировка 2015. Разработка. Занятие 7. Работа с серверами
 
Git - распределенная система контроля версий
Git - распределенная система контроля версийGit - распределенная система контроля версий
Git - распределенная система контроля версий
 
Антон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantАнтон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с Vagrant
 
Андрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыАндрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание среды
 
Владимир Гриненко —Инструменты фронтенд-разработчика
Владимир Гриненко —Инструменты фронтенд-разработчикаВладимир Гриненко —Инструменты фронтенд-разработчика
Владимир Гриненко —Инструменты фронтенд-разработчика
 
Docker 1.9
Docker 1.9Docker 1.9
Docker 1.9
 
Open stack в 2ГИС
Open stack в 2ГИСOpen stack в 2ГИС
Open stack в 2ГИС
 
Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на Docker
 
Docker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяDocker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоваться
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктурой
 
Сергей Сергеев "Менеджмент кода, или Почему SCM"
Сергей Сергеев "Менеджмент кода, или Почему SCM"Сергей Сергеев "Менеджмент кода, или Почему SCM"
Сергей Сергеев "Менеджмент кода, или Почему SCM"
 
Source Control Addon for InterSystems Caché with UDL support
Source Control Addon for InterSystems Caché with UDL supportSource Control Addon for InterSystems Caché with UDL support
Source Control Addon for InterSystems Caché with UDL support
 
Введение в Docker
Введение в Docker Введение в Docker
Введение в Docker
 
06 php instalation_ru
06 php instalation_ru06 php instalation_ru
06 php instalation_ru
 
Gitify - швейцарский нож для MODX-воина
Gitify - швейцарский нож для MODX-воинаGitify - швейцарский нож для MODX-воина
Gitify - швейцарский нож для MODX-воина
 
Git presentation
Git presentationGit presentation
Git presentation
 
Телепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup MinskТелепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup Minsk
 
ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))
 
Linux for newbie hackers
Linux for newbie hackersLinux for newbie hackers
Linux for newbie hackers
 

Similaire à Системы управления версиями (VCS). Знакомство с Git.

GIT Slides (25.03.2015)
GIT Slides (25.03.2015)GIT Slides (25.03.2015)
GIT Slides (25.03.2015)Ilya V
 
Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере GitSCINO
 
Распределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitРаспределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitIvan Evtukhovich
 
Git для новичков
Git для новичковGit для новичков
Git для новичковSoftline
 
Git для продолжающих
Git для продолжающихGit для продолжающих
Git для продолжающихIvan Evtukhovich
 
Git для начинающих
Git для начинающихGit для начинающих
Git для начинающихVadim Drobinin
 
Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Sergey Chudakov
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor Dmitrii Stoian
 
Антон Шумихин - Redmin&Git
Антон Шумихин - Redmin&GitАнтон Шумихин - Redmin&Git
Антон Шумихин - Redmin&GitGAiN@ESD
 
Git - Вадим Валуев
Git - Вадим ВалуевGit - Вадим Валуев
Git - Вадим ВалуевDrupalCamp MSK
 
Стажировка 2014, занятие 4. Git, Github и Open source.
Стажировка 2014, занятие 4. Git, Github и Open source.Стажировка 2014, занятие 4. Git, Github и Open source.
Стажировка 2014, занятие 4. Git, Github и Open source.7bits
 
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...it-people
 
Git for beginners (NskConf)
Git for beginners (NskConf)Git for beginners (NskConf)
Git for beginners (NskConf)Slava Semushin
 
Minimal Version Selection - dependency management in Go 1.11, Golang Meetup 0...
Minimal Version Selection - dependency management in Go 1.11, Golang Meetup 0...Minimal Version Selection - dependency management in Go 1.11, Golang Meetup 0...
Minimal Version Selection - dependency management in Go 1.11, Golang Meetup 0...Ivan Korolev
 

Similaire à Системы управления версиями (VCS). Знакомство с Git. (20)

GIT Slides (25.03.2015)
GIT Slides (25.03.2015)GIT Slides (25.03.2015)
GIT Slides (25.03.2015)
 
Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере Git
 
Git for you
Git for youGit for you
Git for you
 
Распределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitРаспределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере git
 
Git для новичков
Git для новичковGit для новичков
Git для новичков
 
Git intro
Git introGit intro
Git intro
 
Git для продолжающих
Git для продолжающихGit для продолжающих
Git для продолжающих
 
GitFlow_MOEX
GitFlow_MOEXGitFlow_MOEX
GitFlow_MOEX
 
Git для начинающих
Git для начинающихGit для начинающих
Git для начинающих
 
Приручаем Git
Приручаем GitПриручаем Git
Приручаем Git
 
Chebit.Git
Chebit.GitChebit.Git
Chebit.Git
 
Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Презентация Git-flow (на русском)
Презентация Git-flow (на русском)
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
 
Антон Шумихин - Redmin&Git
Антон Шумихин - Redmin&GitАнтон Шумихин - Redmin&Git
Антон Шумихин - Redmin&Git
 
Git - Вадим Валуев
Git - Вадим ВалуевGit - Вадим Валуев
Git - Вадим Валуев
 
Стажировка 2014, занятие 4. Git, Github и Open source.
Стажировка 2014, занятие 4. Git, Github и Open source.Стажировка 2014, занятие 4. Git, Github и Open source.
Стажировка 2014, занятие 4. Git, Github и Open source.
 
Git
GitGit
Git
 
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
 
Git for beginners (NskConf)
Git for beginners (NskConf)Git for beginners (NskConf)
Git for beginners (NskConf)
 
Minimal Version Selection - dependency management in Go 1.11, Golang Meetup 0...
Minimal Version Selection - dependency management in Go 1.11, Golang Meetup 0...Minimal Version Selection - dependency management in Go 1.11, Golang Meetup 0...
Minimal Version Selection - dependency management in Go 1.11, Golang Meetup 0...
 

Plus de Dmytro Olaresko

Kharkiv drupal tech talks #2
Kharkiv drupal tech talks #2Kharkiv drupal tech talks #2
Kharkiv drupal tech talks #2Dmytro Olaresko
 
RESTful in Drupal 8 and Services module - New`n`Tasty!
RESTful in Drupal 8 and Services module - New`n`Tasty!RESTful in Drupal 8 and Services module - New`n`Tasty!
RESTful in Drupal 8 and Services module - New`n`Tasty!Dmytro Olaresko
 
Kharkiv Drupal Cafe Tech Talks #1
Kharkiv Drupal Cafe Tech Talks #1Kharkiv Drupal Cafe Tech Talks #1
Kharkiv Drupal Cafe Tech Talks #1Dmytro Olaresko
 
Инсталяционные профили в Drupal
Инсталяционные профили в DrupalИнсталяционные профили в Drupal
Инсталяционные профили в DrupalDmytro Olaresko
 
Модуль GetLocations. Google Maps API ver.3 и Drupal. DrupalForum ZP 2012.
Модуль GetLocations. Google Maps API ver.3 и Drupal. DrupalForum ZP 2012.Модуль GetLocations. Google Maps API ver.3 и Drupal. DrupalForum ZP 2012.
Модуль GetLocations. Google Maps API ver.3 и Drupal. DrupalForum ZP 2012.Dmytro Olaresko
 
Drupal Cafe №5 Харьков. Drupal 7 Form API.
Drupal Cafe №5 Харьков. Drupal 7 Form API.Drupal Cafe №5 Харьков. Drupal 7 Form API.
Drupal Cafe №5 Харьков. Drupal 7 Form API.Dmytro Olaresko
 

Plus de Dmytro Olaresko (6)

Kharkiv drupal tech talks #2
Kharkiv drupal tech talks #2Kharkiv drupal tech talks #2
Kharkiv drupal tech talks #2
 
RESTful in Drupal 8 and Services module - New`n`Tasty!
RESTful in Drupal 8 and Services module - New`n`Tasty!RESTful in Drupal 8 and Services module - New`n`Tasty!
RESTful in Drupal 8 and Services module - New`n`Tasty!
 
Kharkiv Drupal Cafe Tech Talks #1
Kharkiv Drupal Cafe Tech Talks #1Kharkiv Drupal Cafe Tech Talks #1
Kharkiv Drupal Cafe Tech Talks #1
 
Инсталяционные профили в Drupal
Инсталяционные профили в DrupalИнсталяционные профили в Drupal
Инсталяционные профили в Drupal
 
Модуль GetLocations. Google Maps API ver.3 и Drupal. DrupalForum ZP 2012.
Модуль GetLocations. Google Maps API ver.3 и Drupal. DrupalForum ZP 2012.Модуль GetLocations. Google Maps API ver.3 и Drupal. DrupalForum ZP 2012.
Модуль GetLocations. Google Maps API ver.3 и Drupal. DrupalForum ZP 2012.
 
Drupal Cafe №5 Харьков. Drupal 7 Form API.
Drupal Cafe №5 Харьков. Drupal 7 Form API.Drupal Cafe №5 Харьков. Drupal 7 Form API.
Drupal Cafe №5 Харьков. Drupal 7 Form API.
 

Системы управления версиями (VCS). Знакомство с Git.