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
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> - удалить ветвь