SlideShare a Scribd company logo
1 of 15
GIT - Fast Version Control System

Распределённая система управления версиями файлов

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

http://git-scm.com/
http://git-scm.com/download
Аналоги



Основные аналоги:        Различия с Subversion SVN:

Mercurial,               1. Отсутствует полный
Bazaar,                  локальный репозиторий
Subversion,
CVS,                     2. Работает очень медленно
Perforce,                на больших количествах
Team Foundation Server   файлов

                         3. Нет нормальной
                         реализации бранчей
А может все таки SVN?

Примеры проектов, использующих Git:
ядро Linux, Drupal, Cairo, GNU Core Utilities,
 Mesa, Wine, Chromium, Compiz Fusion,
 FlightGear, jQuery, PHP и некоторые
 дистрибутивы Linux (см. ниже).
Преимущества Git
Высокая производительность
Легкая интеграция и взаимодействие с
 другими системами контроля
Легкая встраиваемость в скрипты
Готовые решения веб-интерфейсов
Отличная поддержка нелинейной разработки
Каждый разработчик получает полный
 репозиторий локально
Доступ к репозиторию
Удалённый доступ к репозиториям Git
 обеспечивается git-daemon, SSH- или HTTP-
 сервером. TCP-сервис git-daemon входит в
 дистрибутив Git и является наряду с SSH
 наиболее распространённым и надёжным
 методом доступа.
Windows клиенты для GIT
1. TortoiseGit – графический интерфейс,
  подобный Tortoise SVN


2. Git via cygwin – официальная реализация
  Git для Windows


3. mSysGit – альтернатива cygwin
*unix клиенты для Git
1. sudo apt-get install git-core
2. GUI приложения:
    gitk
    giggle
    git-cola
    git-gui
    gitg
    sudo apt-get install gitk giggle git-cola git-gui gitg
Создание репозитория
Локальный репозиторий (из данных):
  cd /var/www/project
  git init
  git add .
Клонированный репозиторий (из другого repo):
  git clone ssh://git-host.com/project
  git clone ~/path/to/repo ~/path/to/new-repo
  git clone git://git-host.com/project
Создание bare репозитория
Это репозиторий, который предназначен для
 хранения данных, а не использования его
 как локального рабочего репозитория.


cd /path/to/project.git
git init – bare


соглашение о наименовании bare repo
Базовые “show” команды
1. git status – показать текущее состояние
2. git diff – показать изменения
3. git log – лог последних действий
4. git blame – кто, как и когда правил файл
5. git show – показать опредленный комит, файл или
  бранч
6. git branch – список ветвей
Основные команды
1. git pull – скачать и смерджить все изменения из
  удаленного репозитория на локальный
2. git add – добавить файл в текущий список файлов
  для заливки в удаленный репозиторий
3. git commit – закомитить изменения в локальный
  репозиторий
4. git push – залить изменения из локального
  репозитория в удаленный
Основные branch комманды
1. git checkout <branch> - переключиться на ветвь


2. git checkout -b <branch> - создать новую ветвь


3. git checkout -b <branch_new> <branch_orig> -
  создать новую ветвь скопировав ее из _orig


4. git branch -d <branch> - удалить ветвь
Git default workflow
Git workflow with branch
Спасибо




Вопросы и возможно ответы.

More Related Content

What's hot

Стажировка-2013, разработчики, занятие 10. Git
Стажировка-2013, разработчики, занятие 10. GitСтажировка-2013, разработчики, занятие 10. Git
Стажировка-2013, разработчики, занятие 10. Git7bits
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Dmytro Olaresko
 
Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере GitSCINO
 
Java. Lecture 12. Development Tools
Java. Lecture 12. Development ToolsJava. Lecture 12. Development Tools
Java. Lecture 12. Development Toolscolriot
 
Git (presentation)
Git (presentation)Git (presentation)
Git (presentation)Anton Ivanov
 
Основы работы с Git
Основы работы с GitОсновы работы с Git
Основы работы с GitDenis Latushkin
 
Ci на базе docker
Ci на базе dockerCi на базе docker
Ci на базе dockerIvan Grishaev
 
Введение в Docker
Введение в Docker Введение в Docker
Введение в Docker Andrey Markelov
 
Docker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяDocker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяСергей Ладыгин
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиOSLL
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиAndrey Markelov
 
Телепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup MinskТелепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup MinskMODX Беларусь
 
Development and deployment freedom - MODX Meetup Minsk
Development and deployment freedom - MODX Meetup MinskDevelopment and deployment freedom - MODX Meetup Minsk
Development and deployment freedom - MODX Meetup MinskMODX Беларусь
 
Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerAnton Maksimov
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.DrupalForumZP2012
 
Новый дом для репозитория или история переезда на Git lab
Новый дом для репозитория или история переезда на Git labНовый дом для репозитория или история переезда на Git lab
Новый дом для репозитория или история переезда на Git labitconnect2016
 

What's hot (20)

Стажировка-2013, разработчики, занятие 10. Git
Стажировка-2013, разработчики, занятие 10. GitСтажировка-2013, разработчики, занятие 10. Git
Стажировка-2013, разработчики, занятие 10. Git
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.
 
Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере Git
 
Java. Lecture 12. Development Tools
Java. Lecture 12. Development ToolsJava. Lecture 12. Development Tools
Java. Lecture 12. Development Tools
 
Git presentation
Git presentationGit presentation
Git presentation
 
Git
GitGit
Git
 
Git for you
Git for youGit for you
Git for you
 
Git (presentation)
Git (presentation)Git (presentation)
Git (presentation)
 
Основы работы с Git
Основы работы с GitОсновы работы с Git
Основы работы с Git
 
Ci на базе docker
Ci на базе dockerCi на базе docker
Ci на базе docker
 
Введение в Docker
Введение в Docker Введение в Docker
Введение в Docker
 
Docker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоватьсяDocker : что это, зачем, и как им пользоваться
Docker : что это, зачем, и как им пользоваться
 
Кратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русскиКратчайшее введение в docker по-русски
Кратчайшее введение в docker по-русски
 
OpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельностиOpenStack и Docker: вместе и по отдельности
OpenStack и Docker: вместе и по отдельности
 
Телепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup MinskТелепортация MODX - MODX Meetup Minsk
Телепортация MODX - MODX Meetup Minsk
 
Development and deployment freedom - MODX Meetup Minsk
Development and deployment freedom - MODX Meetup MinskDevelopment and deployment freedom - MODX Meetup Minsk
Development and deployment freedom - MODX Meetup Minsk
 
Тестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на DockerТестовый стенд для большого числа проектов на Docker
Тестовый стенд для большого числа проектов на Docker
 
Gitlab devconf
Gitlab devconfGitlab devconf
Gitlab devconf
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.
 
Новый дом для репозитория или история переезда на Git lab
Новый дом для репозитория или история переезда на Git labНовый дом для репозитория или история переезда на Git lab
Новый дом для репозитория или история переезда на Git lab
 

Similar to Git basis

Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor Dmitrii Stoian
 
GIT Slides (25.03.2015)
GIT Slides (25.03.2015)GIT Slides (25.03.2015)
GIT Slides (25.03.2015)Ilya V
 
Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Sergey Chudakov
 
Распределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitРаспределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitIvan Evtukhovich
 
Антон Шумихин - Redmin&Git
Антон Шумихин - Redmin&GitАнтон Шумихин - Redmin&Git
Антон Шумихин - Redmin&GitGAiN@ESD
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктуройdddpaul
 
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open sourceСпецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source7bits
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 57bits
 
Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Egor Stremousov
 
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...it-people
 
Aлексей Медведев, Alpari, «Enterprise-инфраструктура менеджмента PHP-пакетов ...
Aлексей Медведев, Alpari, «Enterprise-инфраструктура менеджмента PHP-пакетов ...Aлексей Медведев, Alpari, «Enterprise-инфраструктура менеджмента PHP-пакетов ...
Aлексей Медведев, Alpari, «Enterprise-инфраструктура менеджмента PHP-пакетов ...Mail.ru Group
 
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании
Enterprise-инфраструктура менеджмента php-пакетов в рамках компанииEnterprise-инфраструктура менеджмента php-пакетов в рамках компании
Enterprise-инфраструктура менеджмента php-пакетов в рамках компанииEvgeny Fomin
 
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании (Aлексей ...
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании (Aлексей ...Enterprise-инфраструктура менеджмента php-пакетов в рамках компании (Aлексей ...
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании (Aлексей ...Symfoniacs
 
системы контроля версий
системы контроля версийсистемы контроля версий
системы контроля версийDressTester
 
Андрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыАндрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыDrupalSib
 
системы контроля версий
системы контроля версийсистемы контроля версий
системы контроля версийNicki Feathers
 
Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...
Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...
Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...ScrumTrek
 
Git for beginners (NskConf)
Git for beginners (NskConf)Git for beginners (NskConf)
Git for beginners (NskConf)Slava Semushin
 

Similar to Git basis (20)

Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
 
GIT Slides (25.03.2015)
GIT Slides (25.03.2015)GIT Slides (25.03.2015)
GIT Slides (25.03.2015)
 
GitFlow_MOEX
GitFlow_MOEXGitFlow_MOEX
GitFlow_MOEX
 
Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Презентация Git-flow (на русском)
Презентация Git-flow (на русском)
 
Распределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitРаспределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере git
 
Антон Шумихин - Redmin&Git
Антон Шумихин - Redmin&GitАнтон Шумихин - Redmin&Git
Антон Шумихин - Redmin&Git
 
Управление облачной инфраструктурой
Управление облачной инфраструктуройУправление облачной инфраструктурой
Управление облачной инфраструктурой
 
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open sourceСпецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 5
 
Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"
 
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
 
Aлексей Медведев, Alpari, «Enterprise-инфраструктура менеджмента PHP-пакетов ...
Aлексей Медведев, Alpari, «Enterprise-инфраструктура менеджмента PHP-пакетов ...Aлексей Медведев, Alpari, «Enterprise-инфраструктура менеджмента PHP-пакетов ...
Aлексей Медведев, Alpari, «Enterprise-инфраструктура менеджмента PHP-пакетов ...
 
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании
Enterprise-инфраструктура менеджмента php-пакетов в рамках компанииEnterprise-инфраструктура менеджмента php-пакетов в рамках компании
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании
 
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании (Aлексей ...
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании (Aлексей ...Enterprise-инфраструктура менеджмента php-пакетов в рамках компании (Aлексей ...
Enterprise-инфраструктура менеджмента php-пакетов в рамках компании (Aлексей ...
 
Dev collaboration
Dev collaborationDev collaboration
Dev collaboration
 
системы контроля версий
системы контроля версийсистемы контроля версий
системы контроля версий
 
Андрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыАндрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание среды
 
системы контроля версий
системы контроля версийсистемы контроля версий
системы контроля версий
 
Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...
Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...
Антон Григорьев, Git-flow: как построить процесс разработки и быстро получать...
 
Git for beginners (NskConf)
Git for beginners (NskConf)Git for beginners (NskConf)
Git for beginners (NskConf)
 

Git basis

  • 1. GIT - Fast Version Control System Распределённая система управления версиями файлов Полезные ссылки: http://git-scm.com/ http://git-scm.com/download
  • 2. Аналоги Основные аналоги: Различия с Subversion SVN: Mercurial, 1. Отсутствует полный Bazaar, локальный репозиторий Subversion, CVS, 2. Работает очень медленно Perforce, на больших количествах Team Foundation Server файлов 3. Нет нормальной реализации бранчей
  • 3. А может все таки SVN? Примеры проектов, использующих Git: ядро Linux, Drupal, Cairo, GNU Core Utilities, Mesa, Wine, Chromium, Compiz Fusion, FlightGear, jQuery, PHP и некоторые дистрибутивы Linux (см. ниже).
  • 4. Преимущества Git Высокая производительность Легкая интеграция и взаимодействие с другими системами контроля Легкая встраиваемость в скрипты Готовые решения веб-интерфейсов Отличная поддержка нелинейной разработки Каждый разработчик получает полный репозиторий локально
  • 5. Доступ к репозиторию Удалённый доступ к репозиториям Git обеспечивается git-daemon, SSH- или HTTP- сервером. TCP-сервис git-daemon входит в дистрибутив Git и является наряду с SSH наиболее распространённым и надёжным методом доступа.
  • 6. Windows клиенты для GIT 1. TortoiseGit – графический интерфейс, подобный Tortoise SVN 2. Git via cygwin – официальная реализация Git для Windows 3. mSysGit – альтернатива cygwin
  • 7. *unix клиенты для Git 1. sudo apt-get install git-core 2. GUI приложения: gitk giggle git-cola git-gui gitg sudo apt-get install gitk giggle git-cola git-gui gitg
  • 8. Создание репозитория Локальный репозиторий (из данных): cd /var/www/project git init git add . Клонированный репозиторий (из другого repo): git clone ssh://git-host.com/project git clone ~/path/to/repo ~/path/to/new-repo git clone git://git-host.com/project
  • 9. Создание bare репозитория Это репозиторий, который предназначен для хранения данных, а не использования его как локального рабочего репозитория. cd /path/to/project.git git init – bare соглашение о наименовании bare repo
  • 10. Базовые “show” команды 1. git status – показать текущее состояние 2. git diff – показать изменения 3. git log – лог последних действий 4. git blame – кто, как и когда правил файл 5. git show – показать опредленный комит, файл или бранч 6. git branch – список ветвей
  • 11. Основные команды 1. git pull – скачать и смерджить все изменения из удаленного репозитория на локальный 2. git add – добавить файл в текущий список файлов для заливки в удаленный репозиторий 3. git commit – закомитить изменения в локальный репозиторий 4. git push – залить изменения из локального репозитория в удаленный
  • 12. Основные branch комманды 1. git checkout <branch> - переключиться на ветвь 2. git checkout -b <branch> - создать новую ветвь 3. git checkout -b <branch_new> <branch_orig> - создать новую ветвь скопировав ее из _orig 4. git branch -d <branch> - удалить ветвь