|
---|
|
Патчи Если кто-то хочет выложить не свой готовый патч - не забудьте указать автора и источник. Если кто-то хочет задать вопрос по патчу - лучше не на этом форуме вообще. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
17.01.2010, 13:04 | #1 |
Guest
Сообщений: n/a
|
GIT и несколько веток
Вот у меня есть некоторое не допонимание в таком вопросе:
К примеру мы скачиваем пропатченные сорцы scriptdev2 карателя командой "git clone git://github.com/insider42/scriptdev2.git" там имеется 2 ветки, master и 330, мне нужна 330, но если посмотреть "git branch", он показывает только master, вот как скачать 330? Я пробывал создать у себя новую ветку ("git branch 330") с таким же названием, переключиться в нее ("git checkout 330") и выполнить команду "git pull origin 330", но не получается. Ну и допустим мы скачиваем сорцы мангоса, там тоже есть несколько веток, по умолчанию идет master, а мне нужна 330, как обновить мои файлы до ветки 330? Просто я немног запутался |
17.01.2010, 13:15 | #2 | |
YTDB dev
Регистрация: 05.11.2009
Сообщений: 5,920
Сказал(а) спасибо: 91
Поблагодарили 5,383 раз(а) в 4,847 сообщениях
|
Инструкций валом...
Пример: Цитата:
|
|
17.01.2010, 14:45 | #3 |
YTDB dev, histori
Регистрация: 05.11.2009
Сообщений: 1,597
Сказал(а) спасибо: 1
Поблагодарили 1,093 раз(а) в 971 сообщениях
|
Даже книжка по Git вышла недавно, даже с русским языком
__________________
ars longa vita brevis |
17.01.2010, 15:34 | #4 | |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
|
Цитата:
Посмотреть все локальные ветки: git branch Посмотреть все ветки репозитория: git branch -a Создаем новую ветку: git branch 330 Переключaемся в ветку: git checkout 330 хелп могу выложить.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
|
19.01.2010, 21:15 | #5 |
YTDB Helper
Регистрация: 05.11.2009
Сообщений: 333
Сказал(а) спасибо: 321
Поблагодарили 152 раз(а) в 81 сообщениях
|
На выкачку смежной удалённой ветки - какой-то хитрый запрос. Он точно был на вики мангос.ру - я сам его туда записывал. Сейчас у меня этой инфы нет
Всё, что у меня осталось: Код:
Вобщем собрал все основные команды в кучу: Чтобы скачать сорцы: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" Можно на него полюбоваться:git log Возвращение к чистым исходникам:git clean -f -x -d Переключаемся в основную ветку:git checkout master Удаляем созданную ветку:git branch имя ветки -D Собрано на просторах форума, думаю должно быть быть именно здесь Вобщем собрал все основные команды в кучу: Чтобы скачать сорцы: Код: 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" Можно на него полюбоваться: Код: git log Возвращение к чистым исходникам: Код: git clean -f -x -d Переключаемся в основную ветку: Код: git checkout master Удаляем созданную ветку: Код: git branch имя ветки -D Реверт всех изменений в коде: Код: git reset --hard Патчи из другой ветки: git branch 1, git checkout 1, затем одну из приведенных выше git pull, потом git diff master 1 -p > new_patch.patch , копируем его мне. Потом git checkout master, git branch -D 1 и по новой, но с другим git pull, опять же приведённым выше. Откат патча: patch -p1 -R < /путь до патча/*.patch git clone git://github.com/mangos/mangos.git git pull branch ИМЯ_ЛОКАЛЬНОЙ_ВЕТКИ origin ИМЯ_УДАЛЁННОЙ_ВЕТКИ Это не точно, это приблизительно по памяти |
2 пользователя(ей) сказали cпасибо: | Mayss (03.02.2010) |
19.01.2010, 21:31 | #6 | |
RuDB Dev
Регистрация: 06.11.2009
Сообщений: 677
Сказал(а) спасибо: 592
Поблагодарили 690 раз(а) в 289 сообщениях
|
Цитата:
|
|
19.01.2010, 21:47 | #7 |
YTDB dev, histori
Регистрация: 05.11.2009
Сообщений: 1,597
Сказал(а) спасибо: 1
Поблагодарили 1,093 раз(а) в 971 сообщениях
|
http://habrahabr.ru/blogs/Git/80909/ в этой теме посмотри, там и на англ. и русский есть, и pdf и еще другое
__________________
ars longa vita brevis |
8 пользователя(ей) сказали cпасибо: |
21.01.2010, 15:12 | #8 |
Guest
Сообщений: n/a
|
щас выкачиваю с ветки так (на lunix / ubuntu ):
git clone git://github.com/insider42/scriptdev2.git ~/mangos/scripts -o 330 на винде раньше выкачивал так: git clone git://github.com/insider42/scriptdev2.git -b 330 |
24.01.2010, 17:54 | #9 |
Новичок
|
Вот собрал инструкцию по GIT. Пользуйтесь. Материал на гуглил в интернете. Потом слегка отформатировал и конвертанул в CHM.
|
5 пользователя(ей) сказали cпасибо: | Konctantin (24.01.2010), StinK (24.01.2010) |
24.01.2010, 22:39 | #10 |
Guest
Сообщений: n/a
|
|
24.01.2010, 23:09 | #11 |
Новичок
|
Конструктива не вижу в данной фразе.... это не просто оффтопик, а злейший оффтопик. Здесь люди задают вопросы про ГИТ.
Теперь по теме. Я обычно скачиваю ветку master затем чтобы перейти на другую (например 330) делаю так: git branch 330 git Checkout 330 и всё в репозитории уже версия под 330 чтобы вернуться к master делаю так: git branch master git Checkout master при этом скачивается с инета очень мало. (посравнению со всем репозиторием) |
24.01.2010, 23:11 | #12 |
YTDB dev, histori
Регистрация: 05.11.2009
Сообщений: 1,597
Сказал(а) спасибо: 1
Поблагодарили 1,093 раз(а) в 971 сообщениях
|
__________________
ars longa vita brevis |
24.01.2010, 23:23 | #13 | |
Guest
Сообщений: n/a
|
Цитата:
Собщем давно сидел на Subversion как и все, и никаких проблем не знал, потом мангос вдруг резко перешел на git. Для меня эта система была нова, и понять я её сразу не смог, но как понял, то она мне понравилась. Тут тебе и ветки, и форки, и мержи - чего только нет. Но потом я узнал про mercurial. Система впринципе таже, только для чего было разделять коммит и слив коммита? Сначала не я понял, но когда поюзал, то понял что это самая удобная система управления версиями для меня. Чем она лучше гита рассказывать не буду (все это можно найти в инете по запросу hg vs git), но мне на данный момент больше всего нравится hg. Думаю кто юзал, тот меня понимает |
|
27.01.2010, 00:29 | #14 | |
YTDB Helper
Регистрация: 05.11.2009
Сообщений: 333
Сказал(а) спасибо: 321
Поблагодарили 152 раз(а) в 81 сообщениях
|
Цитата:
Без обид, просто я постоянно работаю с этими командами и отлично знаю что и как они делают. Прежде чем перечить мне - просто отключи интернет и попробуй проделать эти же операции и ты узришь чудо: всё получится, т.к. при использовании данных команд никакого обращения к интернету гит не производит... P.S: Первый же запрос в гугле вывел меня на вовжопаподобный сайт, куда кто-то заботливо перекатал текст из магос.ру вики. Узнаю свой текст (саму команду говорил в своё время TOM_RUS, я лишь записал на человекопонятном языке на вики) Код:
Чтобы скачать сорсы из определённой удалённой ветки: Сначала просто выкачиваем сорсы: git clone АДРЕС Затем можем переключиться в любую выбранную удалённую ветку: git checkout -b ИМЯ_ЛОКАЛЬНОЙ_ВЕТВИ origin/ИМЯ_УДАЛЁННОЙ_ВЕТВИ_КОТОРУЮ_ХОТИМ_ВЫКАЧАТЬ Пример для сорсов Карателя: git clone git://github.com/insider42/mangos.git git checkout -b OLD origin/322_stable Таким образом и вправду выкачивается очень быстро |
|
Пользователь сказал cпасибо: | Кот ДаWINчи (30.01.2010) |
28.01.2010, 22:08 | #15 | |
Guest
Сообщений: n/a
|
Цитата:
Скачиваю: git clone git://github.com/insider42/mangos.git Использую: git checkout -b OLD origin/330_test Пишет: fatal: not a git repository: .git |
|
28.01.2010, 22:36 | #16 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
|
вот странно.... цепочка:
git clone git://github.com/insider42/mangos.git git pull origin 330_stable нормально выкачивает стабильную ветку... цепочка: git branch 330_test git checkout 330_test git pull origin 330_test нормально создает новую локальную ветку, переключается в нее, и обновляет в ней сорцы. Не мог бы ты подробнее описать, что именно ты хочешь сделать?
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
28.01.2010, 23:10 | #17 |
Guest
Сообщений: n/a
|
есть еще и программы-фронтэнды к git,
а для mangos на github еще и можно скачать снапшоты (выбираете нужную ветку, тыкаете в последний коммит, жмете на кнопочку download source) Последний раз редактировалось Alexstrasza; 28.01.2010 в 23:12. |
29.01.2010, 01:17 | #18 | ||
YTDB Helper
Регистрация: 05.11.2009
Сообщений: 333
Сказал(а) спасибо: 321
Поблагодарили 152 раз(а) в 81 сообщениях
|
Цитата:
Может вам эти сорсы вообще выкачать и в архиве положить? Обидно, что вы даже ошибку не удосужились хотя бы попытаться перевести Цитата:
Темпура, таким образом всю твою цепочку можно легко сократить до: Код:
git clone git://github.com/insider42/mangos.git git pull origin 330_test |
||
3 пользователя(ей) сказали cпасибо: | tempura (29.01.2010) |