[devel] git

REAL real на kemsu.ru
Пн Мар 16 09:58:46 MSK 2015


16.03.2015 13:42, Hihin Ruslan пишет:
>> И при каждом "git remote
>> update" получаем последние версии как в сизифе, так и у себя
>> на "свалке" на git.alt (очень полезно, когда хочется
>> поработать и на работе, и дома продолжить, не таская всё на
>> флэшке).
>
> а вот с этого места поподробнее :)

Давайте возьмём к примеру пакет trilinos (я его новую версию уже 
вторую неделю ковыряю), но, допустим, я только начал, и у меня есть 
только новые исходники, но и только. Следующие действия были бы 
одинаковы и на работе, и дома:

1. git clone git.alt:packages/trilinos.git
cd trilinos

При этом "origin" создаётся автоматом, и источникм служит 
git.alt:packages/trilinos.git .

2. Подтягиваю себе то, что собрано в сизиф:

2a. git remote add gears git.alt:/gears/t/trilinos10.git

(исторически сложилось так, что суффикс у него 10, и я его не меняю, 
ибо при смене версии не ломается ABI).

2b. git remote update gears

3. Проверяю, не заливал ли кто обновлений:

git merge gears/sisyphus

Если git сказал, что обновлений не найдено, значит, хорошо, если они 
были, разрулив конфликты,

4. тут же заливаю обновления себе на git.alt:

git push --all origin
git push origin --tags


Теперь представим, что я на работе, у меня тут скачаны новые 
исходники, я их положил, закоммитил, залил на git.alt (см. шаг 4). 
Далее делаю всякие неизбежные вещи вроде правки спека, исходников и 
прочее. Звенит будильник, говоря, что пора домой, а работа в самом 
разгаре. Делаю коммит всего, что натворил, заливаю на git.alt (см. шаг 
4). Прихожу домой, захожу в каталог trilinos, делаю

git remote update
git merge origin/master

Таким образом, всё, что на работе натворил, дома оказывается у меня 
под рукой. Дальше обычно делается diff того, что натворил на работе 
(кроме укладки новых исходников), убивается последний коммит, 
прикладывается сгенеренный diff, получается в точности ситуация, 
которая была к моменту звонка будильника.

-- 

REAL aka Евгений Ростовцев, программист ЦНИТ КемГУ



Подробная информация о списке рассылки Devel