GitUm — средство для поддержки работы над ответвлением проекта в git-репозитории
Ожидает приглашения
При работе над свободными проектами, не редко возникают ситуации предполагающие создания и сопровождения своего ответвления от основного репозитория. Каждое ответвление влечёт за собой изобретение механизма корректной и быстрой синхронизации с основным (upstream) репозиторием. Средствами git можно производить командой:
При активной работе над проектом может возникать большое количество конфликтов, с которым git справиться не в силах и приходится разрешать их вручную. Помимо всего прочего «свои» коммиты теряются среди огромного числа upstream-коммитов, на картинке это выглядит примерно так:

Для удобства работы с такими репозиториями можно воспользоваться средством GitUm призванного облегчить жизнь разработчиков.
Итак, GitUm — средство для поддержки работы над ответвлением проекта в git-репозитории, представляет собой набор скриптов, написанных на языке python, формирующих «особый» git-репозиторий состоящий из 5 локальных веток:
В качестве примера возьмем активно развивающийся репозиторий WINE и инициализируем GitUm-репозиторий на его основе:
получаем 4 ветки в репозитории, основной является rebased, в которой мы и работаем

вносим изменения и применяем
получается такая картина

теперь можно произвести синхронизацию с upstream-репозиторием
в результате мы сможем увидеть все свои изменения и полную историю во времени

Чтобы узнать текущее состояния веток и репозитория с которым работаем, как в git status:
В результате получается интересный и удобный инструмент для работы с git-репозиториями, который экономит уйму времени.
Страничка проекта GitUm
Исходный код http://git.etersoft.com/projects/leaders/gitum.git
git merge
При активной работе над проектом может возникать большое количество конфликтов, с которым git справиться не в силах и приходится разрешать их вручную. Помимо всего прочего «свои» коммиты теряются среди огромного числа upstream-коммитов, на картинке это выглядит примерно так:

Для удобства работы с такими репозиториями можно воспользоваться средством GitUm призванного облегчить жизнь разработчиков.
Итак, GitUm — средство для поддержки работы над ответвлением проекта в git-репозитории, представляет собой набор скриптов, написанных на языке python, формирующих «особый» git-репозиторий состоящий из 5 локальных веток:
- Ветка rebased с патчами наверху — рабочая ветка, создаётся локально.
- Ветка current с непрерывной историей изменений.
- Ветка patches с патчами в виде отдельных файлов — каждый коммит это состояние репозитория.
- Ветка upstream — копия апстрим-ветки.
- Ветка gitum-config с конфигурационным файлом, где содержатся имена 4-х предыдущих веток. Носит всегда название gitum-config. Может отсутствовать — тогда используются имена веток по умолчанию.
В качестве примера возьмем активно развивающийся репозиторий WINE и инициализируем GitUm-репозиторий на его основе:
git clone git://source.winehq.org/git/wine.git
cd wine
gitum create --upstream master
получаем 4 ветки в репозитории, основной является rebased, в которой мы и работаем

вносим изменения и применяем
gitum update
получается такая картина

теперь можно произвести синхронизацию с upstream-репозиторием
gitum merge
в результате мы сможем увидеть все свои изменения и полную историю во времени

Чтобы узнать текущее состояния веток и репозитория с которым работаем, как в git status:
gitum status
Have new commits, run gitum update to save them:
Test
В результате получается интересный и удобный инструмент для работы с git-репозиториями, который экономит уйму времени.
Страничка проекта GitUm
Исходный код http://git.etersoft.com/projects/leaders/gitum.git