Показать сообщение отдельно
Старый 07.03.2010, 16:11   #1
DeusModus
Администратор
 
Аватар для DeusModus
 
Регистрация: 07.03.2010
Адрес: Питер.
Сообщений: 69
Сказал(а) спасибо: 66
Поблагодарили 102 раз(а) в 15 сообщениях
Записей в дневнике: 12
DeusModus отключил(а) отображение уровня репутации
По умолчанию 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/*


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

Последний раз редактировалось Inn04ka; 26.06.2010 в 13:14.
DeusModus вне форума