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



  • Github нужен для взаимодействия между разработчиками при совместной работе над проектами (может использоваться в течении всего жизненного цикла ПО).
  • Работа в Github организуется посредством предоставления определенного доступа через интернет каждому из членов команды к рабочим директориям проекта, истории изменений, а также к задачам и документации проекта, с возможностью изменять файлы и отслеживать историю их редактирования.


Основы



GitHub — онлайн-хостинг репозиториев, обладающий всеми функциями системы контроля версий и функциональностью управления (в него входит всё то, что поддерживает Git). Вместе с Git он даёт разработчикам возможность сохранять их код онлайн, а затем взаимодействовать с другими разработчиками в разных проектах.



Git — это инструмент, позволяющий реализовать распределённую систему контроля версий. 



GitHub — это сервис для проектов, использующих Git.



Создать коммит (commit) значит зафиксировать изменения любых файлов, входящих в репозиторий.



Репозиторий — каталог файловой системы, в котором могут находится: файлы журналов конфигураций и операций, выполняемых над репозиторием, а также сами контролируемые файлы.



Репозиторий бывает:



  • локальный (расположен непосредственно в памяти компьютера разработчика, в нем происходит разработка и фиксация изменений, после чего можно отправить на удалённый репозиторий)
  • удалённый (находится на сервере, может быть приватным – доступным ограниченному числу лиц, и публичным – open source)


В GitHub входит:



  • система контроля доступа
  • багтрекинг (отслеживание истории действий над файлами и, при необходимости, переход на более ранние версии)
  • возможность управлять задачами и справками для проектов


К проекту, загруженному на GitHub, можно получить доступ с помощью интерфейса командной строки и Git-команд, сайта https://github.com/, или с помощью приложения Github — desktop для Windows или macOS.



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



Установка Git



Для Linux:



1. Откройте терминал и перейдите в желаемую директорию для установки.


2. Введите: sudo apt-get install git



Для macOS:



1. Воспользуемся homebrew


2. Вводим в терминале: brew install git



Для Windows, (для macOS и Linux — альтернатива):



1. Перейдите по ссылке: http://git-scm.com/downloads


2. Выберите нужный пакет и следуйте дальнейшим инструкциям.



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



Создание и настройка локального репозитория



1. Открываем Bash



Пусть наш проект имеет путь в файловой системе Users/Public/Project. Перед созданием локального репозитория желательно удалить все ненужные, временные файлы в папке проекта.



2. Настроим имя пользователя и адрес электронной почты:



git config --<span class="hljs-built_in">global</span> user.name <span class="hljs-string">"Name"</span> git config --<span class="hljs-built_in">global</span> https://www.linkedin.com/redir/general-malware-page?url=user%2eemail email@mail.ru


(где Name – логин пользователя, email@mail.ru — почта)



Теперь каждое наше действие будет отмечено именем и почтой, это вносит порядок в историю изменений.



tree – команда для просмотра древовидной структуры файловой системы, в которой мы находимся.



find – удаление файлов со специфичным суффиксом.



3. Переходим в папку с проектом Users/Public/Project:



<span class="hljs-built_in">cd</span> Users/Public/Project/


4. Создадим локальный репозиторий в папке с проектом:



git <span class="hljs-keyword">init</span>


Командная строка должна вернуть что-то вроде:



Initialized empty Git repository <span class="hljs-keyword">in</span> Users<span class="hljs-regexp">/Public/Project/</span>


Добавление файлов в локальный репозиторий



1. Теперь создадим любой файл в нашей директории, например, first.txt



2. Добавим его в систему управления версиями:



git add first.txt


3. Если нужно добавить все файлы в директории, то используем:



git add –A


или:



<span class="hljs-comment">git</span> <span class="hljs-comment">add</span> <span class="hljs-literal">--</span><span class="hljs-comment">all</span>


4. Проверить текущее состояние:



git status


Можно отменить добавление файла командой:



git rm –-cached first.txt


Создание версии проекта



После добавления нужного файла в staging area (область подготовленных файлов) можно создать версию проекта.



1. Введем команду:



git <span class="hljs-keyword">commit</span> -m <span class="hljs-string">"comment"</span>


Ключ –m означает создание пользователем описания этого коммита.



Для удаления всеx файлов в папке, не относящихся к проекту, и не сохраненных в репозитории, можно воспользоваться командой: 



git clean -df


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



Все действия до этого раздела производились над локальным репозиторием, который находится у вас на компьютере. Если мы хотим сохранить проект в Интернете, и предоставить к нему доступ, то создадим репозиторий на Github.



1. Регистрируемся на сайте: github.com под именем nikname (может быть любым другим).



2. Нажимаем кнопочку "+" и вводим название репозитория.



3. Выбираем тип Public (Private доступен только в платной версии).



4. Нажимаем Create.


В результате создан репозиторий в Github (на экране видим инструкцию, по соедининению локального репозитория со вновь созданным).



5. Добавляем удаленный репозиторий (по протоколу SSH) под именем origin (желательно использовать его, но можно любое другое, главное – не master – оно используется в момент релиза версии).



git remote add origin git@github.com:nikname/project.git


Результат можно увидеть с помощью команды:



git remote -v


Если все правильно сделано, то увидим:



origin git@github.com:nikname/project.git (fetch)
origin git@github.com:nikname/project.git (push)


Для отмены регистрации удаленного репозитария, введите:



git remote rm origin


Этой командой вносятся все изменения, которые были сделаны в локальном репозитории на Github: 



git push -u github master


-u ключ установления связи между удаленным репозиторием github и веткой master. Все дальнейшие изменения переносятся на удаленный репозиторий следующей командой: git push



Полезные ресурсы



  • Более подробно про Git можно прочитать в книге Скотта Чакона и Бена Штрауба — Pro Git
  • За помощью с работой в Github переходим на сайт.

Теги: git, github

Комментарии (0)