Чтобы скачать исходные коды:
Код:
git clone git://github.com/mangos/mangos.git
Чтобы обновить исходные коды:
Код:
git pull origin master
Создать новую ветку:
Код:
git branch имя ветки
Посмотреть все ветки:
Переключемся в ветку:
Код:
git checkout имя ветки
Просмотр изменений:
Создать патч файл:
Код:
git diff > имя файла.patch
Патч отличий чистых исходных текстов и ветки:
Код:
git diff master ветка -p > имя файла.patch
git diff master ветка > имя файла.patch
Применить патч:
Код:
git am < имя файла.patch
git apply < имя файла.patch
Применение патча с созданием новых файлов:
Код:
patch -p1 < имя файла.patch
Добавить все изменения:
Добавить изменения по отдельности:
Сделать commit:
Код:
git commit -a -m "work patch"
Просмотр commit:
Возвращение к чистым исходным кодам:
Переключение в основную ветку:
git checkout master
Удалить созданную ветку:
Код:
git branch имя ветки -D
Откат всех изменений в коде:
Скачать определённую ревизию(к примеру 10 ревизий назад):
Скачивая самую свежую ревизию, Вы скачиваете всю историю изменений с момента создания репозитория.
Поэтому, чтобы получить исходники, например, которые были 10 коммитов назад на коммит (x-10) нужно:
Код:
git checkout master
git reset HEAD~10
Единственное - все изменения после коммита (x-10) буду потеряны.
Нужно будет заново закачать их.
Если вы пользуетесь системой контродя версий git, то возможно вам надоедает набирать длинные команды git status, git checkout, git commit, git branch. Можно прописать в ~/.gitconfig для них короткие алиасы:
Код:
[alias]
ci = commit
co = checkout
st = status
br = branch
Вопросы и ответы
Q:Вот ещё задачка: как заставить git не добавлять каждый раз в изменения определённую папку? например я положил папку ScriptDev2 в mangos\src\bindings, но при создании любых патчей она всплывает...
черепашка тупо не трогала папки где нет её файлов, а как быть с git?
A:В .git/info/exclude добавь src/bindings/ScriptDev2/*
По вопросам этой темы,создавать конкретно интересующий вопрос,со всеми указаниями на то,что обсуждение не избежно