Инициализация репозитория

2012-08-04
Для того, чтобы начать работу с проектом, который находится под управлением системы контроля версий, в данном случае управляемый GIT, необходимо выполнить инициализацию репозитория, в котором будет храниться проект.

Инициализация репозитория
Допустим файлы проекта находятся в папке /var/www/initprj. Инициализация начинается с выполнения команды init с последующим добавлением файлов проекта в трак Git'a. Для этого необходимо в папке с файлами проекта выполнить команды

$ git init
$ git add *
$ git commit -m "init commit"

Для инициализации GIT сервера, необходимо экспортировать файлы проекта в "пустой" (bare) репозиторий - репозиторий, который не содержит рабочего каталога. Чтобы сделать это необходимо запустить команду clone с атрибутом bare. Грубо говоря, содержимое репозитория есть содержимое папки .git, находящейся в экспортируемом репозитории. В соответстивии с общим соглашением, имена директорий с git-проектами заканчиваются на ".git". Создадим папочку myproject.git

$ mkdir -m755 repo.git

Перейдем в нее и выполним "пустое"(bare) клонирование инициализированного коммита для возможности в последствии "пулить", "коммитить" и "пушить" в него. В данном случае клонирование выполняется из локальной папки через протокол файловой системы(всего существует 4 протокола с различным уровнем доступа к файлам проекта):

$ cd repo.git
$ git clone --bare file:///var/www/initprj ./

Теперь первоначальный каталог(/var/www/initprj) можно удалить.

Создание рабочего каталога
Создаем директорию, в которой будет вестись непосредственно работа, и клонируем туда проект

$ mkdir -m755 myproject
$ cd myproject
$ git clone file:///var/www/repo.git ./

Получае перечень файлов и папок проекта. Теперь их можно изменять и заносить в трак.

$ git commit -am "new commit"
$ git push