Git 
 — распределённая система управления версиями файлов и совместной 
 работы. Проект был создан Линусом Торвальдсом для управления 
 разработкой ядра Linux. На сегодняшний день поддерживается Джунио 
 Хамано (Junio C. Hamano). 
 Удалённый доступ к репозиториям Git 
 обеспечивается git-daemon, SSH, или HTTP сервером. TCP-сервис 
 git-daemon входит в дистрибутив Git и является наряду с SSH наиболее 
 распространённым и надёжным методом доступа. HTTP метод доступа, 
 несмотря на ряд ограничений, очень популярен в контролируемых сетях, 
 потому что позволяет использование существующих конфигураций сетевых 
 фильтров. 
 Бывают проблемы с windows. 
 В настоящее время проект MANGOS начал активно использовать git систему для своих репозидиев. Git пришол на замену svn. 
 Вобщем собрал все основные команды в кучу: 
 Чтобы скачать сорцы: 
 
Code
 
 git clone git://github.com/mangos/mangos.git
   Чтобы обновить: 
 
Code
 
 git pull origin master
   Создаем новую ветку: 
 
Code
 
 git branch имя ветки
   Посмотреть все ветки: 
 
  Переключемся в ветку: 
 
Code
 
 git checkout имя ветки
   Покажет изменения: 
 
  Создать патч файл: 
 
Code
 
 git diff > имя файла.patch
   Патч отличий чистых сырцов и ветки: 
 
Code
 
 git diff master ветка -p > имя файла.patch 
 git diff master ветка > имя файла.patch
   Применить патч: 
 
Code
 
 git am < имя файла.patch 
 git apply < имя файла.patch
   Применение патча с созданием новых файлов: 
 
Code
 
 patch -p1 < имя файла.patch
   Добавить все изменения: 
 
  По отдельности: 
 
  Сделать commit: 
 
Code
 
 git commit -a -m "work patch"
   Можно на него полюбоваться: 
 
  Возвращение к чистым исходникам: 
 
  Переключаемся в основную ветку: 
 
  Удаляем созданную ветку: 
 
Code
 
 git branch имя ветки -D
   Реверт всех изменений в коде: 
 
  Вопросы и ответы 
 
 Q:Вот ещё задачка: как заставить git не добавлять каждый раз в 
 изменения определённую папку? например я положил папку ScriptDev2 в 
 mangos\src\bindings, но при создании любых патчей она всплывает... 
 черепашка тупо не трогала папки где нет её файлов, а как быть с git? 
 A:В .git/info/exclude добавь 
 src/bindings/ScriptDev2/*