Github как пользоваться

Введение

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

Зачем нужен Git

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

Git для чайника. Команды которые помогут начать работу.

Для удобства работы с ним существует графический клиент GitHub Desktop и консольный Git Shell. В статье рассмотрен пример работы с использованием этого сервиса и его графического клиента.

Основные возможности GitHub

Этапы разработки

С помощью вкладки commits вы можете изучить историю разработки проекта: когда и кем были внесены изменения в какие файлы и строки, как развивался проект в целом. Коммиты (“commit” —  фиксировать) — записи изменений в репозиторий.

Контроль версий

Git позволяет создавать несколько различных, параллельных версий проекта – веток, каждая из которых предназначена для разных целей. Допустим, у вас есть работающий проект. Основная ветка проекта – master. В ней хранится последняя стабильная версия. Для добавления в проект новой функциональности необходимо создать отдельную ветку, при этом данные изменения никак не отразятся на основной версии. Можно переключаться между ветками, что приведёт к изменению файлов локальной версии репозитория.

Начало работы

Как развернуть локальный репозиторий

Начнем с того, что для работы с Git необходима локальная копия (клон) удаленного репозитория – папка на компьютере, в которой будут храниться его файлы. С ними вы будете в дальнейшем работать.

Для клонирования репозитория существующего проекта зайдите на страницу вашего проекта, выберите нужный репозиторий, в открывшемся меню нажмите Clone or download, затем – Open in Desktop.

Откроется Git клиент, где вам будет предложено выбрать директорию для скачивания репозитория. После скачивания файлов попробуйте внести изменения в какой-нибудь файл репозитория – они сразу отобразятся в Git клиенте в разделе Changes: 

Если вы хотите отменить изменения – нажмите правой кнопкой мыши на галочку напротив файла. Появится вкладка Discard changes. Чтобы отменить изменения во всех файлах – нажмите на самую верхнюю галочку, затем Discard all changes.

Также вы можете развернуть локальный репозиторий, который затем можно синхронизировать c GitHub, нажав на кнопку Сreate. Чтобы добавить существующий репозиторий на вашем компьютере – нажмите Add:

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

Для создания новой ветки нажмите на кнопку слева от названия ветки. Новая ветка образуется от той, которая указана; изменения, которые есть в текущей ветке, но отсутствуют в мастере, будут перенесены в новую ветку.

Для того чтобы начать работу с последней актуальной версией, нажмите кнопку Sync – ваш локальный репозиторий синхронизируется с удалённым. В локальном репозитории появятся все последние версии файлов. Если вы забудете синхронизироваться перед началом работы, может возникнуть ситуация, когда вы внесли изменения в старую версию файла. В таком случае возникает конфликт ваших изменений с изменениями в актуальной версии. Объединять их вам придется вручную. Процесс этот порой может быть довольно долгим и трудоёмким.

Для того чтобы сделать коммит, нужно ввести общее название изменений (Summary). В description описывается, какие изменения были внесены. Оно не является обязательным. Ваш коммит появится в разделе History.

После этого тоже обязательно синхронизируйтесь.

Для того чтобы другие разработчики узнали о внесённых вами изменениях и рассмотрели их для внесения в одну из веток, существует действие под названием Pull request. После отправки Pull request’a разработчики знакомятся с изменениями, оставляют комментарии к коду, вносят правки и при необходимости добавляют коммиты.

Ваш реквест появится во вкладке “Рull requests” на странице проекта, поделитесь ссылкой на него с другими участниками. Можете снова добавлять коммиты в созданную ранее ветку, они отобразятся в пулл-реквесте. Когда все изменения будут согласованы, ветки смёрджат (merge — операция слияния веток), пулл-реквест будет закрыт и все изменения окажутся в ветке, в которую он был сделан.

Итоги

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

1. Стать пользователем сервиса github.com и присоединиться к проекту

2. Установить клиент Github Desktop 

3. Клонировать нужный репозиторий и начать работать с ним в клиенте

Если вам понравилась статья, поделитесь ссылкой на нее

Поделиться

Установка Git

Настало время немного ознакомиться с использованием Git'а. Первое, что вам необходимо сделать, — установить его. Есть несколько способов сделать это; два основных — установка из исходников и установка собранного пакета для вашей платформы.

Установка из исходников

Если есть возможность, то, как правило, лучше установить Git из исходных кодов, поскольку так вы получите самую свежую версию.

GitHub: Инструкция для нетехнических специалистов

Каждая новая версия Git'а обычно включает полезные улучшения пользовательского интерфейса, поэтому получение последней версии — часто лучший путь, если, конечно, вас не затрудняет установка программ из исходников. К тому же, многие дистрибутивы Linux содержат очень старые пакеты. Поэтому, если только вы не на очень свежем дистрибутиве или используете пакеты из экспериментальной ветки, установка из исходников может быть самым выигрышным решением.

Для установки Git'а вам понадобятся библиотеки, от которых он зависит: curl, zlib, openssl, expat и libiconv. Например, если в вашей системе менеджер пакетов — yum (Fedora), или apt-get (Debian, Ubuntu), можно воспользоваться следующими командами, чтобы разрешить все зависимости:

Установив все необходимые библиотеки, можно идти дальше и скачать последнюю версию с сайта Git'а:

Теперь скомпилируйте и установите:

После этого вы можете скачать Git с помощью самого Git'а, чтобы получить обновления:

Установка в Linux

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

Если у вас Fedora, можно воспользоваться yum'ом:

Если же у вас дистрибутив, основанный на Debian, например, Ubuntu, попробуйте apt-get:

Установка на Mac

Есть два простых способа установить Git на Mac. Самый простой — использовать графический инсталлятор Git'а, который вы можете скачать со страницы на SourceForge (см. рисунок 1-7):


Рисунок 1-7. Инсталлятор Git'а под OS X.

Другой распространённый способ установки Git'а — через MacPorts (). Если у вас установлен MacPorts, установите Git так:

Вам не обязательно устанавливать все дополнения, но, вероятно, вам понадобится +svn, если вы когда-нибудь захотите использовать Git вместе с репозиториями Subversion (см. главу 8).

Установка в Windows

Установить Git в Windows очень просто. У проекта msysGit процедура установки — одна из самых простых. Просто скачайте exe-файл инсталлятора со страницы проекта на GitHub'е и запустите его:

После установки у вас будет как консольная версия (включающая SSH-клиент, который пригодится позднее), так и стандартная графическая.

Пожалуйста, используйте Git только из командой оболочки, входящей в состав msysGit, потому что так вы сможете запускать сложные команды, приведённые в примерах в настоящей книге. Командная оболочка Windows использует иной синтаксис, из-за чего примеры в ней могут работать некорректно.

prev | next

В какой-то момент, как и все наверное, я решил сделать простой сайт-визитку для себя, с дальнейшим превращением ее в блог и портфолио. Брать какую-то CMS или конструктор не хотелось.

Как пользоваться Github?

Не серьезно для IT-шника пилить сайт на WordPress 😀 Вспомнив, старую статью о GIthub Pages, которую я где-то видел, решил погуглить что это такое и с чем едят (Github как бы уже кажется достаточно гиковским). Итого все оказалось довольно просто и я дальше расскажу, как без особо труда и бесплатно можно захостить html+css+js страницу на Github.

Для того, чтобы проследить за действиями, достаточно базовых знаний git и html.

Первым делом регистрируемся.

Расписывать регистрацию смысла не вижу, т.к. она довольно тривиальна. https://github.com/ .

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

После входа создаем свой первый репозиторий.

Тут у нас есть два выбора, или мы делаем основную страницу, которая в дальнейшем будет доступна по адресу https://%username%.github.io/ и станет сайтом вашего профиля. В этом случае мы называем свой репозиторий %username%.github.io и любой markdown или html код в нем будет автоматически захостен по адресу выше.

Или мы делаем страницу какого-то отдельного вашего проекта на github, которая будет открыта по https://%username%.github.io/%project_name%. Для такого варианта, мы можем просто назвать репозиторий так, как считаем нужным.

Выберем второй вариант и назовем свой проект test-page.

Инициализируем его локально и пушим нашу первую страницу

После создания github сам любезно покажет вам, как запушить ваши первые файлы в этот репозиторий.

Бегло пройдемся по этим bash командам, чтобы вы могли сделать подобное и в Windows.

Первая строка выводит “Test-page for blog post.

http://abdulmadzhidov.ru/blog/Github-Pages/” в файл Readme.md.

Дальше init создаст локальный репозиторий, add добавит файл README.md в индекс для будущего коммита на сервер. Commit создаст коммит с сообщением “first commit”. Remote add добавит удаленный репозиторий к этому локальному, чтобы программма знала, по какому адресу слать ваши сообщения. И push пошлет данные на github.

Вот такой у нас результат в веб версии и консоли.

Создаем и заливаем нашу страничку

Подошли к самой интересной части. Создадим нашу страничку в корне репозитория на нашей машине. Каждый делает это в своем любимом редакторе. Я открою Sublime Text. Чтобы файл бы доступен, без указания его прямого названия, его необходимо назвать index.html.

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

Теперь нам нужно залить ее на сервер. Мы это уже делали выше, надо только повторить с этим файлом.

В этом случае мы не написали какой именно файл добавить в индекс, а поставили точку. Это говорит гиту, что он должен индексировать все файлы в этом каталоге рекурсивно. Удобно, когда вы добавили множество страниц, стилей и JS-кода.

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

Для этого переходим в настройки репозитория на сайте (шестеренка справа) и выбираем Github Pages source нашу master ветку.

После небольшого ожидания, вы сможете достучаться к сайту по %username%.github.io/test-project

У меня адрес должен был быть http://mrzizik.github.io/test-page, но в моем случае к github прикручен мой домен и ссылка немного другая. Об этом поговорим в следующий раз.

Written on January 20, 2017

Представим себе что вы хотите исправить ошибку или добавить фичу в проект на GitHub.

Если это что-то простое, вроде опечатки в , то это делается в два клика прямо на GitHub. Поговорим о более сложном случае, когда нужно не просто исправить ошибку, но и запустить необходимые скрипты для проверки, разбить работу на несколько коммитов, и так далее.

К делу

Начать следует с форка репозитория проекта, который планируется дополнить. Это делается нажатием кнопки "Fork" на странице репозитория прямо на GitHub.

Чтобы далеко не искать подходящий пример, сделайте форк репозитория с файлами для статьи о внедрении PHPUnit.

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

Перейдем в каталог с клоном и посмотрим, какие удалённые репозиторий настроены.

За редким исключением, всем удалённым репозиториям в Git присваиваются имена. По умолчанию первый добавленный репозиторий называется , но в нашем случае это не подходит. Репозиторий исходного проекта переименуем в , из чего будет понятно что оттуда делается только pull.

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

С такой настройкой сделать push будет просто невозможно.

Аналогично можно сделать с веткой даже если та указывает на ваш собственный репозиторий: вы не сможете по ошибке выгрузить какие-то коммиты прямо в ветку , минуя открытие PR из отдельной ветки.

Мы готовы к тому, чтобы подключить ваш форк, упомянув его SSH-ссылкой.

Как пользоваться GitHub

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

Что ещё?

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

Избежать этого можно если запретить коммиты в хуком с таким содержанием:

С таким хуком при попытке коммита в будет выводиться ошибка:

Готово!

Все готово к началу работы. Дальше каждый раз одно и то же.

  1. Загружаем последние изменения с исходного проекта в ветку .

  2. Делаем новую ветку с понятным названием на основе ветки .

  3. Вносим всевозможные изменения, запускаем тесты и так далее.

  4. Выгружаем коммиты с работой из ветки обратно на GitHub.

  5. Открываем PR, ждем одобрения ведущих разработчиков.

  6. Радуемся сообщению о принятии изменений.

Всё сразу

Если задать входные данные переменными:

То все команды для начала работы и настройки копии будут следующие:

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

Для создания Git-репозитория существуют два основных подхода. Первый подход — импорт в Git уже существующего проекта или каталога. Второй — клонирование уже существующего репозитория с сервера.

Создание репозитория в существующем каталоге

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

Эта команда создаёт в текущем каталоге новый подкаталог с именем .git содержащий все необходимые файлы репозитория — основу Git-репозитория. На этом этапе ваш проект ещё не находится под версионным контролем. (В главе 9 приведено подробное описание файлов содержащихся в только что созданном вами каталоге )

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

Мы разберём, что делают эти команды чуть позже. На данном этапе, у вас есть Git-репозиторий с добавленными файлами и начальным коммитом.

Клонирование существующего репозитория

Если вы желаете получить копию существующего репозитория Git, например, проекта, в котором вы хотите поучаствовать, то вам нужна команда . Если вы знакомы с другими системами контроля версий, такими как Subversion, то заметите, что команда называется , а не . Это важное отличие — Git получает копию практически всех данных, что есть на сервере. Каждая версия каждого файла из истории проекта забирается (pulled) с сервера, когда вы выполняете . Фактически, если серверный диск выйдет из строя, вы можете использовать любой из клонов на любом из клиентов, для того чтобы вернуть сервер в то состояние, в котором он находился в момент клонирования (вы можете потерять часть серверных перехватчиков (server-side hooks) и т.п., но все данные, помещённые под версионный контроль, будут сохранены, подробнее см. в главе 4).

Клонирование репозитория осуществляется командой .

Git за полчаса: руководство для начинающих

Например, если вы хотите клонировать библиотеку Ruby Git, известную как Grit, вы можете сделать это следующим образом:

Эта команда создаёт каталог с именем , инициализирует в нём каталог , скачивает все данные для этого репозитория и создаёт (checks out) рабочую копию последней версии. Если вы зайдёте в новый каталог , вы увидите в нём проектные файлы, пригодные для работы и использования. Если вы хотите клонировать репозиторий в каталог, отличный от , можно это указать в следующем параметре командной строки:

Эта команда делает всё то же самое, что и предыдущая, только результирующий каталог будет назван mygrit.

В Git'е реализовано несколько транспортных протоколов, которые вы можете использовать. В предыдущем примере использовался протокол , вы также можете встретить или , использующий протокол передачи SSH. В главе 4 мы познакомимся со всеми доступными вариантами конфигурации сервера для обеспечения доступа к вашему Git-репозиторию, а также рассмотрим их достоинства и недостатки.

prev | next

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

Закрыть меню