Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Новичкам (http://mangos.ytdb.ru/forumdisplay.php?f=40)
-   -   FAQ по использованию Git (http://mangos.ytdb.ru/showthread.php?t=94)

DeusModus 07.03.2010 16:11

FAQ по использованию Git
 
Чтобы скачать исходные коды:
Код:

git clone git://github.com/mangos/mangos.git
Чтобы обновить исходные коды:
Код:

git pull origin master
Создать новую ветку:
Код:

git branch имя ветки
Посмотреть все ветки:
Код:

git branch
Переключемся в ветку:
Код:

git checkout имя ветки
Просмотр изменений:
Код:

git status
Создать патч файл:
Код:

git diff > имя файла.patch
Патч отличий чистых исходных текстов и ветки:
Код:

git diff master ветка -p > имя файла.patch
git diff master ветка > имя файла.patch

Применить патч:
Код:

git am < имя файла.patch
git apply < имя файла.patch

Применение патча с созданием новых файлов:
Код:

patch -p1 < имя файла.patch
Добавить все изменения:
Код:

git add *
Добавить изменения по отдельности:
Код:

git add имя файла
Сделать commit:
Код:

git commit -a -m "work patch"
Просмотр commit:
Код:

git log
Возвращение к чистым исходным кодам:
Код:

git clean -f -x -d
Переключение в основную ветку:
git checkout master
Удалить созданную ветку:
Код:

git branch имя ветки -D
Откат всех изменений в коде:
Код:

git reset --hard
Скачать определённую ревизию(к примеру 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/*


По вопросам этой темы,создавать конкретно интересующий вопрос,со всеми указаниями на то,что обсуждение не избежно


Текущее время: 16:03. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS