5 GIT | nsws.ru

GIT

  • warning: Creating default object from empty value in /srv/www/nsws.ru/modules/taxonomy/taxonomy.pages.inc on line 34.
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.
  • warning: preg_replace(): No ending delimiter '/' found in /srv/www/nsws.ru/includes/unicode.inc on line 345.

Новый раздел сайта

На сайте появился новый раздел - "Документация и руководства". И этот раздел сразу пополнился информацией по системе контроля версий GIT.
(посмотреть)

Git stash

Временами при работе с git одновременно нескольких человек возникают не очень красивые записи в журнале:
 
Эти строки не несут особенно большого объема информации. Так, к примеру, посмотрев данный коммит в git-web мы не увидим никакой информации об измененных файлах. Такая ситуация возникает когда вы делаете git pull в вашей рабочей копии репозитория, в которую внесены изменения, при этом происходит авто слитие кода.

Настройка git

Для ускорения некоторых операций и увеличения удобства работы можно провести пару настроек:

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

Ускоряем дифы и отменяем ограничение на количество потоков упаковки при push:
 

Работа с тегами

Как правило, кроме веток разработчики используют теги – чтобы запомнить состояние кода в какой-то момент. Тег – это своеобразный слепок, точно идентифицирующий состояние кода. Гит умеет работать с подписанными GPG тегами и с неподписанными. Здесь я рассмотрю только неподписанные теги.

Для создания такого тега необходимо выполнить команду:
 
Чтобы убрать тег необходимо выполнить:
 

Использование веток

Рано или поздно в любом проекте возникает ситуация, когда требуется заморозить изменения, но продолжать работать, а на замороженные изменения накладывать только баг-фиксы. Для этой цели служат ветви (branch)

В гите можно создать ветку от любого места. Для создания ветки от основного дерева надо выполнить следующую команду:
 
В результате этой команды вы увидите примерно такое сообщение:
 

Базовые операции

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

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

Удаление файла из комита:
 

Обновление данных

С таким локальным репозиторием можно работать долгое время, однако, когда-то у вас все же возникнет необходимость передать сделанные вами изменения в удаленный репозиторий, чтобы результатами вашего труда могли воспользоваться другие участники разработки, и получить из удаленного репозитория новую версию. Для этого служат команды pull и push.
 
Данная команда получает обновленную версию из удаленного репозитория, при этом она проверяет на наличие различных проблем при объединении репозиториев и сообщает об этом.

Получение и оправка репозитория

Разумеется, после создания репозитория разумно узнать “а как же получить эти данные на свой компьютер?”.

Для данной операции используется команда clone. Она создает полную копию удаленного репозитория у вас. Под полной копией понимается именно полная копия, со всеми ветками, удаленными файлами и т.д.

Создание нового репозитория

Создание нового репозитория – это наверное первая из задач, с которой сталкивается любой разработчик. К данной проблеме есть несколько подходов.

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

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

GIT

Git – это распределенная система контроля версий. Основные ее преимущества это распределенность и использование бинарных дифов, что упрощает работу с системой нескольких пользователей одновременно, и упрощает хранение бинарных файлов, ресурсов.
Git используется во многих крупных проектах: Linux kernel, Cairo, Mesa, Wine и многих других.
 

RSS-материал