3. Создаем репозиторий

Для начала отметим, что каждый проект может иметь свой репозиторий. Но репозитория без проекта… я что-то не представляю. Иначе говоря, чтобы поиграться с Git-ом, нам в любом случае понадобится проект.

Проект на компе (хосте) может образоваться двумя путями или способами.

Первый — это традиционный способ создания проекта. Мы все это проделывали ранее не однократно. Второй способ — это закачка проекта из внешнего репозитория, например с GitHub-а.

Сначала рассмотрим более легкий — второй способ. При закачке проекта из внешнего репозитория, одновременно создается и локальный репозиторий и сам проект. Здесь под «проектом» я понимаю набор взаимосвязанных файлов и поддиректориев.

Относительно такого способа создания проекта-репозитория обычно не говорят «закачка». Правильно говорить — клонирование. То есть своими действиями вы создаете клон уже сущетвующего проекта.

Например, вы можете создать у себя на компе клон моих include-файлов для ассемблера naken430asm для микроконтроллеров MSP430 следующей командой:

 $ git clone git://github.com/zhevak/naken430-inc.git
 

После ее выполнения, в текущем директории появится директорий naken430-inc, в нем будут лежать все файлы проекта. Кроме того, в этом директории  (naken430-inc) будет находиться скрытый поддиректорий ./.git . Он и будет являться локальной копией (клоном) внешнего репозитория.

Согласно первому способу создания репозитория предполагается, что проект уже существует. Иначе говоря, если вы хотите создать репозиторий, то сначала нужно создать проект. Причем не важно — создадите ли вы проект прямо сейчас или воспользуетесь своим старым проектом.

Ну, так или иначе, допустим, что проект у нас уже имеется. Тогда заходим в директорий этого проекта и выполняем команду инициализации репозитория:

 $ git init
 

Отлично! Репозиторий у нас создан, но он все еще пустой. Git ведь не знает, какие файлы в проекте нужно отслеживать, а какие не нужно. Например, файлы исходных текстов, понятно, — это нужные файлы. А вот всякие логи, всякие старые резервные копии, да и просто невероятную кучу объектных файлов от промежуточных этапов компилирования — это тот «мусор», который не несет никакой полезной информации для проекта и легко воссоздается каждый раз.

Таким образом, сейчас мы должны указать Git-у, какие файлы он должен отслеживать. Сделаем это так:

 $ git add *.c *.h
 $ git add README TODO
 

Теперь Git будет следить за изменениями всех С-ишных исходников и хэдерных файлов, а так же двух фалов README и TODO, в которых мы будем делать важные пометки.

Хорошо. Git уже отслеживает изменения в указанных файлах, но, тем не менее, сам репозиторий все еще пуст! Чтобы поместить в репозиторий очередную версию нашего проекта мы должны его (проект) закоммитить. Иначе говоря, нам нужно выполнить команду:

 $ git commit
 

Во время коммита запустится текстовый редактор и выведет заготовку для сообщения. Предполагается, что  это сообщение будет сопровождать данный коммит. Если это первый коммит для проекта, то давайте так и напишем — «Это первый коммит проекта.» Остается только сохранить текст и закрыть редактор.

Всё! Репозиторий функционирует, и первый коммит в него уже помещен.

Мне остается добавить, что если вы не планируете сопровождать коммиты большими развесистыми комментариями, то можете их вводить сразу в строке команды. Например так:

 $ git commit -m "Это первая версия моей крутой проги. Понеслась!"
 

В этом случае, текстовый редактор не будет загружаться, и все будет происходить очень быстро.

Поскольку, репозиторий располагается в скрытом поддиректории, то он не будет отвлекать ваше внимание. Вы будете продолжать работать, как будто репозитория совсем и нет. Работайте так же как, как это делали и раньше до этого. Но при достижении логической точки в разработке проекта всякий раз выполняйте коммит.

В следующей публикации мы поговорим несколько подробнее на тему, как работать с локальным репозиторием.

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s