Продуктивное использование Git

Данная статья подразумевает, что система контроля версий Git уже установлена и глобальные параметры конфигурации (а именно имя пользователя и электронной почты) указаны верно. В противном случае, пожалуйста, обратитесь к руководству по установке и настройке Git:

Git является очень полезной программой, позволяющей ускорить разработку проектов по программированию. Данная программа не привязывается к определенному языку и не имеет требований относительно файловой структуры, позволяя разработчикам самостоятельно структурировать рабочий процесс согласно их требованиям.

Прежде чем использовать Git разработки проекта, нужно спланировать свой рабочий процесс. При этом, как правило, учитываются размер и масштаб проекта. Чтобы получить общее представление о Git, будет достаточно одной ветки разработки. По умолчанию, первая ветка любого проекта Git называется master. Следующий урок этой серии расскажет, как создать другие ветки.

Итак, создайте новый проект и назовите его testing (если у вас уже есть проект, который нужно импортировать в git, перейдите к разделу «Конвертирование существующего проекта»).

Создание рабочего пространства

На данном этапе нужно позаботиться о чистом рабочем пространстве (workspace) для кодирования, особенно если код будет разрабатываться для нескольких проектов сразу. Рекомендуется создать отдельную папку по имени git в домашнем каталоге, который содержит подкаталоги для каждого проекта.

Итак, для начала нужно создать рабочее пространство.

user@host ~ $ mkdir -p ~/git/testing ; cd ~/git/testing

Данная команда выполняет два действия:

  1. создает в домашнем каталоге каталог по имени git и подкаталог testing (здесь будет храниться проект);
  2. переходит в базовый каталог проекта.

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

Чтобы создать тестовый файл для репозитория:

user@host ~/git/testing $ touch file

Создав в рабочем пространстве все необходимые файлы, попробуйте отследить файлы при помощи git. Как это сделать, покажет следующий раздел.

Конвертирование существующего проекта

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

user@host ~/git/testing $ git init
Initialized empty Git repository in /home/user/git/testing/.git/

Создав новый пустой репозиторий, добавьте в него нужные файлы и каталоги.

Для этого используйте следующую строку:

user@host ~/git/testing $ git add .

В данном случае не должно появиться никакого вывода (к сожалению, Git не всегда сообщает о правильной работе компонентов).

Всякий раз, когда в репозитории добавляются новые или изменяются уже существующие файлы, нужно создавать сообщение к коммитам (или commit message). Об этом речь пойдет в следующем разделе.

Создание сообщений коммита

Сообщение коммита, или сообщение о коммите (commit message) – это короткое сообщение, объясняющее внесенные изменения. Такие сообщения необходимо создавать перед отправкой изменений кодирования (который называется push); это отличный способ объяснить остальным разработчикам проекта, что именно было изменено в коде и чего от этих изменений ожидать.

Сообщения коммитов, как правило, достаточно короткие (в пределах 1-2 предложений) и должны излагать внесенные поправки. Рекомендуется создавать сообщение о каждом внесенном изменении, прежде чем передать код. Можно передавать столько сообщений о коммитах, сколько нужно. Единственное требование для любого коммита: он должен включать в себя, по крайней мере, один файл и сообщение. Передача данных (или push) должна иметь как минимум один коммит.

Продолжая работу с приведенным ранее примером, создайте сообщение для коммита:

user@host ~/git/testing $ git commit -m "Initial Commit" -a
[master (root-commit) 1b830f8] initial commit
0 files changed
create mode 100644 file

Вышеприведенная команда содержит два важных параметра. Первый – это параметр –m, который позволяет набрать комментарий к коммиту (в данном случае Initial Commit). Второй – это параметр –а, который означает, что данное сообщение о коммите нужно применить ко всем добавленным или измененным файлам. Для первого коммита это приемлемо; в целом же, рекомендуется указывать определенные файлы или каталоги для каждого коммита.

Также можно выполнить:

user@host ~/git/testing $ git commit -m "Initial Commit" file

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

Передача изменений на удаленный сервер

До этого момента все действия выполнялись на локальном сервере. Для простоты отслеживания версий файлов Git рекомендуется использовать локально. Тем не менее, работая в команде разработчиков, нужно предавать (или толкать) внесенные в код изменения на удаленный сервер. Об этом и пойдет речь в этом разделе.

Первое, что нужно для передачи кода на удаленный сервер – предоставить URL репозитория и назвать его. Чтобы настроить удаленный репозиторий и просмотреть список всех таких репозиториев (если их более одного), введите следующую команду:

user@host ~/git/testing $ git remote add origin ssh://git@git.domain.tld/repository.git
user@host ~/git/testing $ git remote -v
origin    ssh://git@git.domain.tld/repository.git (fetch)
origin    ssh://git@git.domain.tld/repository.git (push)

Первая команда добавляет удаленный репозиторий по имени origin и указывает URL ssh://git@git.domain.tld/repository.git.

Конечно, можно указать любое имя для удаленного репозитория, но URL должен указывать на действительный репозиторий. К примеру, чтобы толкнуть код на GitHub, нужно использовать URL репозитория, предоставленный проектом.

Когда удаленный репозиторий настроен, можно приступать к передаче кода.

Чтобы толкнуть код в удаленный репозиторий, наберите:

user@host ~/git/testing $ git push origin master
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 266 bytes, done.
Total 3 (delta 1), reused 1 (delta 0)
To ssh://git@git.domain.tld/repository.git
0e78fdf..e6a8ddc  master -> master

Команда git push толкает все изменения, origin – это имя нового удаленного репозитория, а master – имя первой ветки.

Теперь для передачи кода в будущем можно просто набирать git push.

Надеемся, данное руководство помогло вам получить общее представление об использовании git в командной работе. Следующее руководство проводит более глубокий анализ веток git и объясняет преимущества их использования.

Tags: , ,

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