[Devel] [ANNOUNCEMENT] gitum-0.4.1-alt1 released
Pavel Shilovsky
piastry на etersoft.ru
Пт Фев 3 18:52:23 MSK 2012
Привет!
Собрал новую версию gitum: 0.4.1-alt1 (версия 0.4 содержала некоторые ошибки).
Краткое руководство.
==========================================
Gitum имеет 5 рабочих веток:
1. Ветка апстрим репозитория.
2. Ветка с патчами наверху.
3. Ветка с непрерывной историей изменений - рабочая ветка.
4. Ветка с патчами в виде отдельных файлов - каждый коммит это
состояние репозитория.
5. Ветка с конфигурационным файлом, где содержатся имена 4-х
предыдущих веток. Носит всегда название gitum-config.
У gitum есть опция --repo ПУТЬ, которая указывает путь до
gitum-репозитория. Если опция не указана, то поиск ведётся в текущем
каталоге.
1) Создадим конфигурационный файл gitum:
gitum create --remote origin/master --upstream master --rebased
patches --current dev
origin/master - апстрим репозиторий/ветка (или просто любая
локальная ветка - тогда без /), из которой будем тянуть изменения
master - наша копия ветки origin/master
patches - ветка с нашими патчами наверху
dev - текущая ветка разработки
Две последние ветки создаются сами. То есть на момент
выполнениякоманды, нужно чтобы существовала ветка master, в которой
сейчаснаходится последняя копия удалённой ветки, с которой мы
будемвытягивать изменения. Так же, если в качестве remote мы
указываемлокальную ветку, то она тоже должна существовать.
2) Перенесём изменения из апстрим репозитория:
gitum merge
В процессе merge могут возникать конфликты слияния. Нужноразрешить
очередной конфликт, добавить исправленные файлы командой
git add
и продолжить процесс:
gitum merge --continue
Если же вы передумали делать pull, то можно вернутьизначальное
состояние актуальных веток с помощью команды:
gitum merge --abort
Либо пропустить тeкущий патч и продолжить процесс:
gitum merge --skip
В результате в ветке разработки dev у нас появятся копии коммитовиз
удалённой ветки (сохранено описание, авторство и, по
возможности,функционал).Так же вы сможете заметить, что история
остаётсянепрерывной и отсутствие коммитов вида: "Merge remote into
local".
Так же можно указать вручную с какой веткой проводить слияние, указав вначале:
gitum merge --branch local_branch
или
gitum merge --branch remote1/branch1
3) После того, как мы добавили новые коммиты в ветку dev, намнадо
обновить ветку актульных патчей patches:
gitum update -n 3
добавит три последних коммита из dev в patches.
4) В случае, если нужно исправить существующий патч, выполняем:
gitum editpatch
В конце процесса обязательно завершаем его командой:
gitum editpatch --commit
которая делает коммит в ветку разработки, соответствующий изменению
ветки с патчами.
Если возникли конфликты слияния, или же мы собственноручно остановили
rebase (указав в rebase-файле edit), то после необходимых изменений
продолжаем процесс:
gitum editpatch --continue
Так же по аналогии с gitum pull можно прервать процесс или пропустить
текущий патч (--abort и --skip).
5) Если надо удалить gitum файлы и ветки из репозитория, то используем команду
gitum remove [ --full | --branches | --configfiles ]
6) В случае, когда необходимо восстановить вид репозитория предыдущего состояния
gitum restore COMMIT
где COMMIT - коммит из ветки patches.
Поддерживается совместная работа над gitum репозиторием.
7) Можно склонировать удалённый gitum репозиторий:
gitum clone GITUM-REPO DIR
что склонирует репозиторий по адресу GITUM-REPO в директорию DIR.
8) Чтобы вытянуть изменения из удалённого gitum-репозитория:
gitum pull [ --remote REMOTE ]
при этом наши локальные патчи расположатся поверх новых изменений -
история сохраняется. Если в процессе наложения возникли проблемы, то
нужно их исправить, сделать git add и дать команду
gitum pull --resolved
или пропустить текущий патч (--skip), или прервать процесс и вернуть
первоначальное состояние репозитория с помощью
gitum pull --abort.
9) Чтобы сохранить изменения в удалённом gitum-репозитории:
gitum push [ --remote REMOTE ]
==========================================
Просьба ко всем, кому интересен данный проект его попробовать и
написать свой отзыв в багу:
http://bugs.etersoft.ru/show_bug.cgi?id=7690.
Приветствуются любые замечания и пожелания с вашей стороны!
--
Best regards,
Pavel Shilovsky.
Подробная информация о списке рассылки Devel