SlideShare a Scribd company logo
GIT - это просто!
Гора проектов,
где у каждого участника своя зона комфорта
ответственности
I. Общие сведения
II. Начало работы
III. Итоги первой лекции
Что такое GIT?
История появления
Сильные стороны
Инициализация репозитория (init / clone)
Добавление файлов (add)
Что такое ветки и для чего они? (branch / checkout)
Фиксация изменений (commit)
Отправка своей ветки на сервер (push)
Слияние (merge)
Полезные ресурсы
https://try.github.io/
github.com
Вводная лекция по GIT
I. Общие сведения
II. Начало работы
III. Итоги первой лекции
Что такое GIT?
История появления
Сильные стороны
Инициализация репозитория (init / clone)
Добавление файлов (add)
Что такое ветки и для чего они? (branch / checkout)
Фиксация изменений (commit)
Отправка своей ветки на сервер (push)
Слияние (merge)
Полезные ресурсы
https://try.github.io/
github.com
Вводная лекция по GIT
Что такое GIT?
Распределённая система управления версиями файлов
История появления
2005
Линус Торвальдс
BitKeeper
Linux
git
Сильные стороны
GIT - очень быстрый
OpenSource & Free
Простой и понятный
I. Общие сведения
II. Начало работы
III. Итоги первой лекции
Что такое GIT?
История появления
Сильные стороны
Инициализация репозитория (init / clone)
Добавление файлов (add)
Что такое ветки и для чего они? (branch / checkout)
Фиксация изменений (commit)
Отправка своей ветки на сервер (push)
Слияние (merge)
Полезные ресурсы
https://try.github.io/
github.com
Вводная лекция по GIT
Инициализация репозитория (init / clone)
git init
git init - эта команда инициализирует
создание репозитория *
Репозиторий - это хранилище данных о проекте - история
изменений, информация о ветках, владельце и т.д.
$ > mkdir my_super_project
$ > cd my_super_project
$ > git init
$ > ls -a
Инициализация репозитория (init / clone)
git clone
git clone - эта команда скопирует
существующий репозиторий
$ > git clone http://dev.server.com/my_super_project.git
$ > cd my_super_project
$ > ls -a
Добавление файлов (add)
git add git add - добавляет файлы в индекс
Для git’а файлы делятся на две категории:
те, которые он отслеживает и все остальные :)
Чтобы узнать какие файлы изменились, можно
воспользоваться командой git status
git rm --cached удалит файлы из индекса, в отличие от
обычной команды rm, которая удалит файлы физически.
.gitignore - внимание - спойлер!
.gitignore .gitignore - это не команда, а имя файла
Не всегда требуется учитывать изменения в файлах.
Например, конфиги с паролями, логи, кеш -
все это не обязательно должно быть в индексе.
Возможное содержимое файла .gitignore
development.log
cache/*
config/database.conf
Что такое ветки и для чего они? (branch / checkout)
Ветки позволяют разделять работу над проектом на
независимые друг от друга участки.
Ветки принято создавать на каждую отдельную задачу:
добавление функционала, изменение и т.д.
Веток внутри одного репозитория может быть столько,
сколько потребуется.
Основными командами являются
git branch и git checkout
Что такое ветки и для чего они? (branch / checkout)
git branch git branch - покажет ветки * проекта
Ветка - это просто легковесный
подвижный указатель на один из коммитов.
Ветка по умолчанию в Git'е называется master.
Когда вы создаёте коммиты на начальном этапе, вам дана ветка master,
указывающая на последний сделанный коммит.
При каждом новом коммите она сдвигается вперёд автоматически.
Что такое ветки и для чего они? (branch / checkout)
git branch git branch - покажет ветки * проекта
Ветка - это просто легковесный
подвижный указатель на один из коммитов.
$ > mkdir my_super_project && cd my_super_project
$ > git init
$ > git branch
звездочкой отмечена текущая выбранная ветка
Что такое ветки и для чего они? (branch / checkout)
git branch git branch - покажет ветки * проекта
Ветка - это просто легковесный
подвижный указатель на один из коммитов.
$ > git branch ИМЯ_ВЕТКИ
Если веток несколько,
между ними можно переключаться указав нужное имя
Что такое ветки и для чего они? (branch / checkout)
git checkout git checkout - создаст новую ветку
$ > mkdir my_super_project && cd my_super_project
$ > git checkout ИМЯ_НОВОЙ_ВЕТКИ
Фиксация изменений (commit)
git commit git commit - фиксация состояния файлов
Коммит - сохраняет состояние файлов в ветке.
$ > git status
$ > git add ИМЕНА_ФАЙЛОВ
$ > git commit -m ‘Поясняющее сообщение’
git commit -a - коммит с ключом -a это коммит+push
Фиксация изменений (commit)
Что еще следует знать про коммит?
Все, что является частью коммита в Git'е, почти всегда
может быть восстановлено. Даже коммиты, которые
находятся на ветках, которые были удалены, и
коммиты переписанные с помощью --amend могут
быть восстановлены
Отправка своей ветки на сервер (push)
git push git push - отправить ветку в репозиторий
Пуш отправляет указанную ветку во внешний репозиторий,
который может находиться где угодно.
$ > git commit -m ‘Поясняющее сообщение’
$ > git push origin ИМЯ_ВЕТКИ
origin - это адрес удаленного репозитория, куда будет отправлен
push и с которого будет сделан pull
узнать эти значения можно при помощи команды git remote -v
Отправка своей ветки на сервер (remote)
git remote
git remote - вернут названия настроенных
удаленных репозиториев
Названий может быть несколько и для получения полной
информации об адресах надо указывать ключ -v
$ > git remote -v
$ > origin http://dev.server.com/my_super_project.git (fetch)
$ > origin http://dev.server.com/my_super_project.git (push)
Дополнительная информация по команде remote
Можно добавить столько удаленных репозиториев,
сколько необходимо для текущего проекта.
Делается это следующим образом:
$ > git remote add ilya.v http://ilya.server.ru/work_project.git
$ > git remote -v
$ > ilya.v http://ilya.server.ru/work_project.git (fetch)
$ > origin http://dev.server.com/my_super_project.git (fetch)
$ > origin http://dev.server.com/my_super_project.git (push)
$ > ilya.v http://ilya.server.ru/work_project.git (push)
Слияние (merge)
git merge git merge - объединит указанные ветки
Главным образом merge используется для слияния
различных веток с веткой master
$ > git checkout master
$ > git merge ИМЯ_ВЕТКИ_КОТОРАЯ_БУДЕТ_СЛИТА_С_MASTER
Если в процессе слияния не возникнет конфликтов, то
изменения из ветки попадут в master
Pull
git pull git pull - подтянет изменения из репозитория
pull рекомендуется выполнять всякий раз перед началом
работы и перед отправкой своих наработок.
$ > git pull master
$ > git fetch && git merge — это аналог команды git pull
Pull смотрит в ветку master основного репозитория
I. Общие сведения
II. Начало работы
III. Итоги первой лекции
Что такое GIT?
История появления
Сильные стороны
Инициализация репозитория (init / clone)
Добавление файлов (add)
Что такое ветки и для чего они? (branch / checkout)
Фиксация изменений (commit)
Отправка своей ветки на сервер (push)
Слияние (merge)
Полезные ресурсы
https://try.github.io/
github.com
Вводная лекция по GIT
Полезные ресурсы
https://try.github.io/
github.com
http://git-scm.com/book/ru/v1
15 минут времени на вводный курс по git:
Годная книга по всем аспектам git:
Полигон для тренировок с мануалом и гистами:
gist.github.com
Первая лекция завершена.
Спасибо!
GIT - это просто!
GIT - наш друг

More Related Content

What's hot

Git for you
Git for youGit for you
Git for you
Pavel Alexeev
 
Git
GitGit
Git (presentation)
Git (presentation)Git (presentation)
Git (presentation)
Anton Ivanov
 
Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"
Egor Stremousov
 
Git intro
Git introGit intro
Git intro
Andrey Lapin
 
Стажировка 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
 
My slides from BMM №3 May 2019
My slides from BMM №3 May 2019My slides from BMM №3 May 2019
My slides from BMM №3 May 2019
Alex Chistyakov
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019
Alex Chistyakov
 
Как удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью Git Как удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью Git phpdevby
 
Логирование в Python: то, о чем не пишут в документации
Логирование в Python: то, о чем не пишут в документацииЛогирование в Python: то, о чем не пишут в документации
Логирование в Python: то, о чем не пишут в документацииIvan Kolodyazhny
 
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
 Practical Python Packaging / Стас Рудаков / Web Developer Wargaming Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
Python Meetup
 
Perl resources
Perl resourcesPerl resources
Perl resources
megakott
 
Язык программирования GO
Язык программирования GOЯзык программирования GO
Язык программирования GO
Python Meetup
 
Про асинхронное сетевое программирование
Про асинхронное сетевое программированиеПро асинхронное сетевое программирование
Про асинхронное сетевое программирование
Python Meetup
 
Артем Курбатов — Мастер-класс «Динамический БЭМ-сайт на Node.js»
Артем Курбатов — Мастер-класс «Динамический БЭМ-сайт на Node.js»Артем Курбатов — Мастер-класс «Динамический БЭМ-сайт на Node.js»
Артем Курбатов — Мастер-класс «Динамический БЭМ-сайт на Node.js»
Yandex
 
Начало работы с Git (Visual Studio 2013, Bitbucket) - version 2013
Начало работы с Git (Visual Studio 2013, Bitbucket) - version 2013Начало работы с Git (Visual Studio 2013, Bitbucket) - version 2013
Начало работы с Git (Visual Studio 2013, Bitbucket) - version 2013
Андрей Кухаренко
 
Ян Габис - RobotFramework: автоматизированое тестирование для всех
Ян Габис - RobotFramework: автоматизированое тестирование для всех Ян Габис - RobotFramework: автоматизированое тестирование для всех
Ян Габис - RobotFramework: автоматизированое тестирование для всех
Minsk Linux User Group
 

What's hot (19)

Gitlab devconf
Gitlab devconfGitlab devconf
Gitlab devconf
 
Git for you
Git for youGit for you
Git for you
 
Git
GitGit
Git
 
Git (presentation)
Git (presentation)Git (presentation)
Git (presentation)
 
Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"Никита Шультайс. "Система управления версиями git"
Никита Шультайс. "Система управления версиями git"
 
Git intro
Git introGit intro
Git intro
 
M18 backups
M18 backupsM18 backups
M18 backups
 
Стажировка 2014, занятие 4. Git, Github и Open source.
Стажировка 2014, занятие 4. Git, Github и Open source.Стажировка 2014, занятие 4. Git, Github и Open source.
Стажировка 2014, занятие 4. Git, Github и Open source.
 
My slides from BMM №3 May 2019
My slides from BMM №3 May 2019My slides from BMM №3 May 2019
My slides from BMM №3 May 2019
 
My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019 My slides from DevOps-40 meetup Jun 2019
My slides from DevOps-40 meetup Jun 2019
 
Как удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью Git Как удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью Git
 
Логирование в Python: то, о чем не пишут в документации
Логирование в Python: то, о чем не пишут в документацииЛогирование в Python: то, о чем не пишут в документации
Логирование в Python: то, о чем не пишут в документации
 
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
 Practical Python Packaging / Стас Рудаков / Web Developer Wargaming Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
Practical Python Packaging / Стас Рудаков / Web Developer Wargaming
 
Perl resources
Perl resourcesPerl resources
Perl resources
 
Язык программирования GO
Язык программирования GOЯзык программирования GO
Язык программирования GO
 
Про асинхронное сетевое программирование
Про асинхронное сетевое программированиеПро асинхронное сетевое программирование
Про асинхронное сетевое программирование
 
Артем Курбатов — Мастер-класс «Динамический БЭМ-сайт на Node.js»
Артем Курбатов — Мастер-класс «Динамический БЭМ-сайт на Node.js»Артем Курбатов — Мастер-класс «Динамический БЭМ-сайт на Node.js»
Артем Курбатов — Мастер-класс «Динамический БЭМ-сайт на Node.js»
 
Начало работы с Git (Visual Studio 2013, Bitbucket) - version 2013
Начало работы с Git (Visual Studio 2013, Bitbucket) - version 2013Начало работы с Git (Visual Studio 2013, Bitbucket) - version 2013
Начало работы с Git (Visual Studio 2013, Bitbucket) - version 2013
 
Ян Габис - RobotFramework: автоматизированое тестирование для всех
Ян Габис - RobotFramework: автоматизированое тестирование для всех Ян Габис - RobotFramework: автоматизированое тестирование для всех
Ян Габис - RobotFramework: автоматизированое тестирование для всех
 

Similar to GIT Slides (25.03.2015)

Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.
Dmytro Olaresko
 
Git presentation
Git presentationGit presentation
Git presentation
Alexandr Babenko
 
Распределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitРаспределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере git
Ivan Evtukhovich
 
базовые принципы работы с Git
базовые принципы работы с Gitбазовые принципы работы с Git
базовые принципы работы с Git
DressTester
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.DrupalForumZP2012
 
Антон Шумихин - Redmin&Git
Антон Шумихин - Redmin&GitАнтон Шумихин - Redmin&Git
Антон Шумихин - Redmin&GitGAiN@ESD
 
Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере Git
SCINO
 
Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Презентация Git-flow (на русском)
Презентация Git-flow (на русском)
Sergey Chudakov
 
Начало работы с Git (версия 2016)
Начало работы с Git (версия 2016)Начало работы с Git (версия 2016)
Начало работы с Git (версия 2016)
Андрей Кухаренко
 
Основы работы с Git
Основы работы с GitОсновы работы с Git
Основы работы с Git
Denis Latushkin
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
Dmitrii Stoian
 
Как удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью GitКак удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью Gitphpdevby
 
Git - Вадим Валуев
Git - Вадим ВалуевGit - Вадим Валуев
Git - Вадим Валуев
DrupalCamp MSK
 
Новый дом для репозитория или история переезда на Git lab
Новый дом для репозитория или история переезда на Git labНовый дом для репозитория или история переезда на Git lab
Новый дом для репозитория или история переезда на Git lab
itconnect2016
 
Drupal организация разработки
Drupal   организация разработкиDrupal   организация разработки
Drupal организация разработки
Anna Fedoruk
 
Drupal -organizaciya_razrabotki
Drupal  -organizaciya_razrabotkiDrupal  -organizaciya_razrabotki
Drupal -organizaciya_razrabotkidrupalconf
 
Git и GitHub для создания учебного контента
Git и GitHub для создания учебного контентаGit и GitHub для создания учебного контента
Git и GitHub для создания учебного контента
Пупена Александр
 
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...it-people
 

Similar to GIT Slides (25.03.2015) (20)

Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.
 
Git presentation
Git presentationGit presentation
Git presentation
 
Распределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitРаспределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере git
 
базовые принципы работы с Git
базовые принципы работы с Gitбазовые принципы работы с Git
базовые принципы работы с Git
 
Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.Системы управления версиями (VCS). Знакомство с Git.
Системы управления версиями (VCS). Знакомство с Git.
 
Git basis
Git basisGit basis
Git basis
 
Антон Шумихин - Redmin&Git
Антон Шумихин - Redmin&GitАнтон Шумихин - Redmin&Git
Антон Шумихин - Redmin&Git
 
Scino: DVCS на примере Git
Scino: DVCS на примере GitScino: DVCS на примере Git
Scino: DVCS на примере Git
 
Презентация Git-flow (на русском)
Презентация Git-flow (на русском)Презентация Git-flow (на русском)
Презентация Git-flow (на русском)
 
Начало работы с Git (версия 2016)
Начало работы с Git (версия 2016)Начало работы с Git (версия 2016)
Начало работы с Git (версия 2016)
 
Основы работы с Git
Основы работы с GitОсновы работы с Git
Основы работы с Git
 
Controlul versiunilor
Controlul versiunilor Controlul versiunilor
Controlul versiunilor
 
GitFlow_MOEX
GitFlow_MOEXGitFlow_MOEX
GitFlow_MOEX
 
Как удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью GitКак удержать проект от анархии с помощью Git
Как удержать проект от анархии с помощью Git
 
Git - Вадим Валуев
Git - Вадим ВалуевGit - Вадим Валуев
Git - Вадим Валуев
 
Новый дом для репозитория или история переезда на Git lab
Новый дом для репозитория или история переезда на Git labНовый дом для репозитория или история переезда на Git lab
Новый дом для репозитория или история переезда на Git lab
 
Drupal организация разработки
Drupal   организация разработкиDrupal   организация разработки
Drupal организация разработки
 
Drupal -organizaciya_razrabotki
Drupal  -organizaciya_razrabotkiDrupal  -organizaciya_razrabotki
Drupal -organizaciya_razrabotki
 
Git и GitHub для создания учебного контента
Git и GitHub для создания учебного контентаGit и GitHub для создания учебного контента
Git и GitHub для создания учебного контента
 
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
DUMP-2012 - Управление разработкой - "Опыт смены системы контроля версий" Кон...
 

GIT Slides (25.03.2015)

  • 1.
  • 2. GIT - это просто!
  • 3.
  • 4.
  • 5. Гора проектов, где у каждого участника своя зона комфорта ответственности
  • 6. I. Общие сведения II. Начало работы III. Итоги первой лекции Что такое GIT? История появления Сильные стороны Инициализация репозитория (init / clone) Добавление файлов (add) Что такое ветки и для чего они? (branch / checkout) Фиксация изменений (commit) Отправка своей ветки на сервер (push) Слияние (merge) Полезные ресурсы https://try.github.io/ github.com Вводная лекция по GIT
  • 7. I. Общие сведения II. Начало работы III. Итоги первой лекции Что такое GIT? История появления Сильные стороны Инициализация репозитория (init / clone) Добавление файлов (add) Что такое ветки и для чего они? (branch / checkout) Фиксация изменений (commit) Отправка своей ветки на сервер (push) Слияние (merge) Полезные ресурсы https://try.github.io/ github.com Вводная лекция по GIT
  • 8. Что такое GIT? Распределённая система управления версиями файлов
  • 10. Сильные стороны GIT - очень быстрый OpenSource & Free Простой и понятный
  • 11. I. Общие сведения II. Начало работы III. Итоги первой лекции Что такое GIT? История появления Сильные стороны Инициализация репозитория (init / clone) Добавление файлов (add) Что такое ветки и для чего они? (branch / checkout) Фиксация изменений (commit) Отправка своей ветки на сервер (push) Слияние (merge) Полезные ресурсы https://try.github.io/ github.com Вводная лекция по GIT
  • 12. Инициализация репозитория (init / clone) git init git init - эта команда инициализирует создание репозитория * Репозиторий - это хранилище данных о проекте - история изменений, информация о ветках, владельце и т.д. $ > mkdir my_super_project $ > cd my_super_project $ > git init $ > ls -a
  • 13. Инициализация репозитория (init / clone) git clone git clone - эта команда скопирует существующий репозиторий $ > git clone http://dev.server.com/my_super_project.git $ > cd my_super_project $ > ls -a
  • 14. Добавление файлов (add) git add git add - добавляет файлы в индекс Для git’а файлы делятся на две категории: те, которые он отслеживает и все остальные :) Чтобы узнать какие файлы изменились, можно воспользоваться командой git status git rm --cached удалит файлы из индекса, в отличие от обычной команды rm, которая удалит файлы физически.
  • 15. .gitignore - внимание - спойлер! .gitignore .gitignore - это не команда, а имя файла Не всегда требуется учитывать изменения в файлах. Например, конфиги с паролями, логи, кеш - все это не обязательно должно быть в индексе. Возможное содержимое файла .gitignore development.log cache/* config/database.conf
  • 16. Что такое ветки и для чего они? (branch / checkout) Ветки позволяют разделять работу над проектом на независимые друг от друга участки. Ветки принято создавать на каждую отдельную задачу: добавление функционала, изменение и т.д. Веток внутри одного репозитория может быть столько, сколько потребуется. Основными командами являются git branch и git checkout
  • 17. Что такое ветки и для чего они? (branch / checkout) git branch git branch - покажет ветки * проекта Ветка - это просто легковесный подвижный указатель на один из коммитов. Ветка по умолчанию в Git'е называется master. Когда вы создаёте коммиты на начальном этапе, вам дана ветка master, указывающая на последний сделанный коммит. При каждом новом коммите она сдвигается вперёд автоматически.
  • 18. Что такое ветки и для чего они? (branch / checkout) git branch git branch - покажет ветки * проекта Ветка - это просто легковесный подвижный указатель на один из коммитов. $ > mkdir my_super_project && cd my_super_project $ > git init $ > git branch звездочкой отмечена текущая выбранная ветка
  • 19. Что такое ветки и для чего они? (branch / checkout) git branch git branch - покажет ветки * проекта Ветка - это просто легковесный подвижный указатель на один из коммитов. $ > git branch ИМЯ_ВЕТКИ Если веток несколько, между ними можно переключаться указав нужное имя
  • 20. Что такое ветки и для чего они? (branch / checkout) git checkout git checkout - создаст новую ветку $ > mkdir my_super_project && cd my_super_project $ > git checkout ИМЯ_НОВОЙ_ВЕТКИ
  • 21. Фиксация изменений (commit) git commit git commit - фиксация состояния файлов Коммит - сохраняет состояние файлов в ветке. $ > git status $ > git add ИМЕНА_ФАЙЛОВ $ > git commit -m ‘Поясняющее сообщение’ git commit -a - коммит с ключом -a это коммит+push
  • 22. Фиксация изменений (commit) Что еще следует знать про коммит? Все, что является частью коммита в Git'е, почти всегда может быть восстановлено. Даже коммиты, которые находятся на ветках, которые были удалены, и коммиты переписанные с помощью --amend могут быть восстановлены
  • 23. Отправка своей ветки на сервер (push) git push git push - отправить ветку в репозиторий Пуш отправляет указанную ветку во внешний репозиторий, который может находиться где угодно. $ > git commit -m ‘Поясняющее сообщение’ $ > git push origin ИМЯ_ВЕТКИ origin - это адрес удаленного репозитория, куда будет отправлен push и с которого будет сделан pull узнать эти значения можно при помощи команды git remote -v
  • 24. Отправка своей ветки на сервер (remote) git remote git remote - вернут названия настроенных удаленных репозиториев Названий может быть несколько и для получения полной информации об адресах надо указывать ключ -v $ > git remote -v $ > origin http://dev.server.com/my_super_project.git (fetch) $ > origin http://dev.server.com/my_super_project.git (push)
  • 25. Дополнительная информация по команде remote Можно добавить столько удаленных репозиториев, сколько необходимо для текущего проекта. Делается это следующим образом: $ > git remote add ilya.v http://ilya.server.ru/work_project.git $ > git remote -v $ > ilya.v http://ilya.server.ru/work_project.git (fetch) $ > origin http://dev.server.com/my_super_project.git (fetch) $ > origin http://dev.server.com/my_super_project.git (push) $ > ilya.v http://ilya.server.ru/work_project.git (push)
  • 26. Слияние (merge) git merge git merge - объединит указанные ветки Главным образом merge используется для слияния различных веток с веткой master $ > git checkout master $ > git merge ИМЯ_ВЕТКИ_КОТОРАЯ_БУДЕТ_СЛИТА_С_MASTER Если в процессе слияния не возникнет конфликтов, то изменения из ветки попадут в master
  • 27. Pull git pull git pull - подтянет изменения из репозитория pull рекомендуется выполнять всякий раз перед началом работы и перед отправкой своих наработок. $ > git pull master $ > git fetch && git merge — это аналог команды git pull Pull смотрит в ветку master основного репозитория
  • 28. I. Общие сведения II. Начало работы III. Итоги первой лекции Что такое GIT? История появления Сильные стороны Инициализация репозитория (init / clone) Добавление файлов (add) Что такое ветки и для чего они? (branch / checkout) Фиксация изменений (commit) Отправка своей ветки на сервер (push) Слияние (merge) Полезные ресурсы https://try.github.io/ github.com Вводная лекция по GIT
  • 29. Полезные ресурсы https://try.github.io/ github.com http://git-scm.com/book/ru/v1 15 минут времени на вводный курс по git: Годная книга по всем аспектам git: Полигон для тренировок с мануалом и гистами: gist.github.com
  • 30.
  • 32. GIT - это просто!
  • 33. GIT - наш друг