Я встречал в сети много tutorial'ов по установке своего сервера git как на gitweb, так и на webdav, но, увы, они либо были только по одному из вышеназванных пунктов, не освещая другой, либо банально не работали. Вчера возникла необходимость поднять свой сервер репозиториев. Потратил пару часов — поднял, теперь хочу поделиться опытом, потому что считаю проблему актуальной :)
Год назад мы с командой решили перейти с SVN на Git. Зачем это было надо — писать не буду, т.к. на эту тему уже и так много написано. А хочу я описать типичные алгоритмы работы, понятные человеку, который долгое время пользовался SVN. Ниже — памятка, написанная для команды год назад, чтобы легче было мигрировать. Надеюсь, кому-нибудь пригодится.
Данный же топик задумывался как непосредственное введение в работу с git, нечто среднее между tutorial и обобщенной справкой, до которого все же рекомендуется прочитать упомянутое выше введение. Сознательно избегаются технические подробности работы git, употребляются только общие для СКВ термины и ограничивается список упоминаемых команд.
Setting user name, email and GitHub token This guide covers basic git settings you should set before making any commits. Please note that config changes will only affect future commits. Existing commits will retain the info they were committed with. Also, the environment variables GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL, GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL will override git-config settings if they are defined.
Команды работы с [Базисные команды репозитория] нужны всем, у кого есть репозиторий, т.е. любому, работающему с git хранилищем. Кроме того, важное значение для всех, кто создаёт коммиты, даже если он работает один, важное значение имеют комады [Индивидуальная разработка (Автономный режим)]. Если вы работаете совместно с другими людьми, вам потребуются команды, перечисленные в разделе [Индивидуальная разработка (Совместный режим)]. Людям, которые играют роль [Интегратора], необходимо знать помимо этого ещё несколько команд.. Команды [Администрирование репозитория] важны для системных администраторов которые несут ответственность за работоспособность git репозиториия.
Git это быстрая распределённая система управления версиями. Данное руководство предназначено для чтения тем, кто имеет базовые знания UNIX и навыки работы с командной строкой, но не имеет знания по git. В Главе 1 «Репозитории и Ветки» и в Главе 2 «Изучение истории git «объясняется, как получить и изучить проект используя GIT. Читая эти главы, Вы узнаете, как собрать и проверить конкретную версию программного проекта, найти регрессии, и т.п. Людям, занимающимся актуальной разработкой, также будет полезна Глава 3 «Разработка с Git» и глава 4 «Совместная разработка». Дальнейшие главы охватывают более специализированные темы.
Like a lot of projects in the Ruby on Rails world, the Insoshi social networking platform uses Git and GitHub to manage its open source development and contributions. In setting up the repositories for Insoshi, I’ve applied the version control experience I gained at Discover, where I was technical lead for the software configuration management (SCM) team. Since some aspects of our setup aren’t obvious if you haven’t managed large projects before, we at Insoshi decided to share the details so that other GitHub projects might benefit as well.