Git   overview




      Ivanov Anton
      Skype: antonnavi
      Email: antonnavi@gmail.com
Системы контроля версий


● Централизованные
● Распределенные
Централизованные
Распределенные
Что такое ветка
Создание новой ветки


git branch branch_name
git checkout branch_name

git checkout -b branch_name
Именование веток


milestone1.dev
milestone1.test

milestone1.dev.f1
milestone1.dev.f2

production
Основы работы с Git (по шагам)
Установка
1. Linux
   a. yum install git-core
   b. apt-get install git
2. Mac
   a. Качаем графический инсталятор отсюда: http:
      //code.google.com/p/git-osx-installer
   b. Через MacPorts:
      sudo port install git-core +svn +doc
      +bash_completion +gitweb
3. Windows
   a. Качаем графический инсталятор отсюда:
      http://msysgit.github.com/
Инициализация репозитория


git init
Добавление файлов в коммит


git add .

git add path/to/file.php
Коммит


git commit -m “Commit comment
message”

git commit

git commit -am “Some files was
removed)”
Подключение удаленного сервера


git remote add origin git://github.
com/paulboone/ticgit.git
В какой мы сейчас ветке?


git status
Получение актуальной версии ветки


git pull origin master
Отправка на удаленный сервер


git push origin master
Подитожив вышесказанное
git init
git remote add origin git://github.
com/paulboone/ticgit.git

git add .
git commit -m “Commit info message”
git pull origin master
git push origin master

git add . && git commit -m “Commit comment message” && git pull origin master
Игнорирование файлов

Создаем файл .gitignore
Добавляем в него файлы и папки


git rm path/to/file.php
добавить новую строку в .gitignore:
path/to/file.php
Конфликты и их решение
git pull ...

Открываем файл содержащий конфликт
Ищем: <<<<<<< HEAD, =======,       >>>>>>>
Решаем конфликт и сохраняем файл

git add . && git commit -m “Conflicts
resolved” && git pull origin master

git push origin master
Объединение веток
Различиямежду ветками:
git diff branch_1 branch_2

Выбираем основную ветвь (branch_1) и переключаемся
в нее:
git checkout branch_1

Выполняем объединение:
git merge branch_2
Drupal и Git (создание патчей)
Клонируем репозиторий:
git clone http://git.drupal.org/project/views.
git
Запоминаем название базовой ветки:
git status
Создаем новую ветвь и переключаемся в нее:
git checkout -b my_feature
Реализуем необходимый функционал и создаем патч:
git format-patch master --stdout >
my_feature.patch
User Guide

http://kernel.org/pub/software/scm/git/docs/user-
manual.html

http://git-scm.com/documentation

http://git-scm.com/book/ru
Git   overview




      Ivanov Anton
      Skype: antonnavi
      Email: antonnavi@gmail.com

Git (presentation)