Среда, 2 Сентябрь 2009
git: перенести настройки
У меня достаточно сложная “глобальная” настройка git. Сейчас стала нужно делать commit и работать на удаленной машине. Оказалось без настройки не хорошо. Делюсь рецептом по переносу.
У меня достаточно сложная “глобальная” настройка git. Сейчас стала нужно делать commit и работать на удаленной машине. Оказалось без настройки не хорошо. Делюсь рецептом по переносу.
Всем хороший git, вот только clone у него странный. Все scm умеют при clone указывать ветку или коммит из которого будет делаться HEAD
нового репозитория. Это чудо честно берет HEAD
из мастера. Давно, очень давно я хотел сделать опцию --branch/-b
, но то руки не доходили, то забывал. Получив волшебный мотивирующий пинок (и не один!) от partyzan нарисовал таки патчик. Пользуйтесь.
Да, ждите, наверное, не раньше чем в 1.7.
Выкладываю в публичный доступ git c полной историей nginx. Его можно взять у меня, командой:
git clone git://catap.ru/nginx/sysoev.git
Так же он зеркалируется на repo.or.cz, github и gitorious.
Как оказалось, в современном debian создать хостинг для git репозитория, не просто просто, а очень просто.
В git, в отличии от hg, менять commits местами очень легко и просто. Достаточно сказать
git rebase -i HEAD~3
где вместо HEAD~3 указать коммит с которого начинаем править дерево. Дальше откроется в редакторе текстовый файл с деревом, правя который можно, в том числе, и поменять коммиты руками.
Да, намного приятнее чем в hg ☺
Сегодня меня в очередной раз спросили, не знаю ли я как отключить less у вывода git-status или git-log. Отвечаю публично, может кому-то еще пригодиться.
Пока ехал, подумалось, что у очень многих людей есть притензия к git’у, что у него нет сокращений для комманд (вместо ci приходиться печатать commit). Да, у него этого нет, зато есть офигенный механизм alias’ов:
git config --global alias.ci commit
Случайно наткнулся на скрипт git-darcs-record который эмулирует в git record из darcs. Рекомендую.
deb пакет для debian (наверное и на ubuntu встанет) можно взять у меня в репозитории.