Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Ставим gitolite 3.03 на сервер:
$ emerge gitolite
redmine/public/dispatch.fcgi.post-recieve/post-update хук такого вида:#!/bin/bash
REDMINE_KEY=
REDMINE_SERVER=
curl http://${REDMINE_SERVER}/sys/fetch_changesets?key=${REDMINE_KEY}
.gitkeep, а не .gitignore, последний обычно используется по прямому назначению.Sometimes an empty .gitignore file is used as a placeholder for an empty path, for example to force git to generate a log/ path for your development environment to use..gitkeep, как и .gitignore с этой целью — конвенции. Лично я предпочитаю использовать .gitignore по его прямому предназначению.в SVN, чтобы проверить работоспособность фичи в ветке в последних актуальных условиях (голова транка), нужно либо замержить ветку в транк, что в нашем случае не вариант, либо замержить транк в ветку, проверить работоспособность, после чего слияние с транком будет _очень_ болезненным, потому что теперь все изменения транка с момента создания ветки будут самостоятельными изменениями ветки
git svn rebase, при этом появляются все недостающие коммиты. Правда для этого нужно было делать git svn clone без опции --no-metadata, потому что git svn ищет последнюю подтянутую ревизию в комментариях истории коммитов.git svn clone, делаю git svn fetch , при этом внезапно (для меня) изменения стягиваются в ветку git-svn, с которой уже работаю как с обычной веткой в частности git merge git-svn.
Переезд проекта с SVN на Git