Github что это за программа и для чего она предназначена

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

GitHub — что это?

На сегодняшний день GitHub — это один из самых популярных сервисов для совместной разработки программного обеспечения и его хостинга в облаке. Крупные IT-компании, такие как Microsoft, Google, Facebook и многие другие, используют данный ресурс для размещения исходных кодов своих разработок. Вы наверняка слышали о GitHub — пришло время научиться им пользоваться!

Этой статьёй мы открываем цикл публикаций посвященных GitHub. Итак, если вы не знаете, что это за сервис, то самое время время с ним познакомиться!

Что такое GitHub?

GitHub — это сервис на основе Git. Является удобным и популярным инструментом управления версиями и включает систему отслеживания ошибок. Адрес в Интернете: https://github.com/

Для каждого проекта можно создавать документацию и руководства по принципу wiki.

Термины из определения мы рассмотрим чуть позже.

GitHub - главная страница

Что такое Git за 8 минут: Объясняем на пальцах

Главная страница ресурса

Сервис заработал в апреле 2008 года, но лишь относительно недавно он приобрёл огромную популярность. Его разработчиками являются Крис Ванстрас, PJ Хиетт и Том Престон-Вернер.

Сервис можно использовать как бесплатно, так и платно. При этом в бесплатном аккаунте доступны абсолютно все функции для работы над проектом. Объем памяти под хостинг — неограничен. Различие в тарифах следующее:

  • Бесплатно — можно создавать только публичные репозитории.
  • Платно (7$ в месяц) — доступны приватные репозитории.

Репозиторий — это хранилище исходного кода вашего программного проекта. Публичный репозиторий виден абсолютно всем, а приватный только вашим разработчикам (тем, кому вы дали доступ).

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

Публичный репозиторий программы с vscode.ru на GitHub

Публичный репозиторий программы с сайта vscode.ru на GitHub

GitHub — это своеобразная социальная сеть для разработчиков, позволяющая им просматривать код друг друга, оставлять комментарии, а также помогать в разработке.

Вкратце познакомившись с сервисом и узнав что такое GitHub, перейдём к терминам и особенностям функционирования системы.

Система управления версиями

В основе работы GitHub лежит система управления версиями Git.

Проект Git был создан Линусом Торвальдсом. Первая версия вышла 7 апреля 2005 года.

Логотип VCS Git

Система управления версиями (от английского Version Control System, сокращенно VCS) — это набор инструментов для удобной работы с документами или файлами, которые могут изменится со временем, то есть может поменяться их версия.

GitHub ПРОСТО О СЛОЖНОМ, Зачем нужен GitHub ?

Изменение версии особенно актуально для программного обеспечения и кода. Программы постоянно обновляются их разработчиками и их версии (и код!) меняются.

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

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

Основные термины VCS

Коммиты (commit)

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

Допустим команда разрабатывает графический редактор. Одного из программистов зовут Юлия. Сегодня она должна разработать модуль для фильтрации изображений.

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

Перво-наперво, Юлия должна выполнить апдейт (update) своего локального репозитория — синхронизироваться с сервером и получить последнюю на данный момент версию ПО. Для этого выполняется соответствующая команда.

Читайте также:
Screenshots что это за программа

Затем Юля занимается разработкой модуля для фильтрации изображении.

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

  1. Выполняется команда коммит (commit). Коммит — это сохранение изменений в проекте. Он обязательно должен сопровождаться текстовым комментарием разработчика о том, какая работа была проделана, и что изменено, либо написано. Коммит поможет другим разработчикам легче разобраться в чужом коде. Кроме того, по коммитам выполняется откат к предыдущей версии проекта, если вдруг что-то было сделано неправильно, либо с фатальными ошибками. Коммит фиксируется в локальном репозитории.
  2. Затем нужно синхронизировать локальный коммит с облаком и запушить (push) все изменения на сервер. Выполняется команда push.

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

Конфликты

Конфликты возникают во время операции push, когда оказывается, что два разработчика работали над одним и тем же кодом. Что и понятно.

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

Ветки (branch)

Рассмотрим создание веток опять же на примере проекта «графический редактор».

Части команды дано задание начать разработку версии 2.0 графического редактора (например, предполагается поддержка работы с векторными изображениями).

Другая же часть команды продолжает работать над первой версией проекта и осуществлять её поддержку и исправление ошибок.

В данной ситуации делается следующее: выделяется ветка (бранч, branch). Создание branch — это создание копии текущего репозитория. Дальнейшая разработка в рамках новой ветки никак не будет затрагивать начальную основную ветку проекта (которая называется master).

Разработка в рамках новой ветки идентична разработке основной ветки. Коммиты, push — это всё на месте.

Когда работа завершена, необходимо выполнить слияние (merge) дополнительной ветки с основной. Программная команда так и называется — merge. В результате слияния получится версия программы 2.0, при этом в ней будут содержатся исправления всех недочётов, которые были обнаружены и поправлены в основной ветке проекта.

На этом всё! До встречи на vscode.ru!

Из следующих статей на тему работы с GitHub Вы узнаете:

  • Про регистрацию на GitHub
  • Как пользоваться GitHub

Источник: vscode.ru

Git и GitHub: что это такое и в чём разница

Из этой статьи вы узнаете, что такое Git и какие в принципе бывают системы контроля версий, которые помогают разработчикам следить за изменениями в коде. Мы также посмотрим, что такое GitHub и какие ещё есть сервисы для работы с Git.

Примечание Вы читаете улучшенную версию некогда выпущенной нами статьи.

Содержание:

  • Что такое Git
  • Что такое GitHub и чем он отличается от Git
  • Что такое система контроля версий
  • Типы систем контроля версий
  • Локальные системы контроля версий (ЛСКВ)
  • Централизованные системы контроля версий (ЦСКВ)
  • Распределённые системы контроля версий (РСКВ)

Что такое Git

Git — распределённая система контроля версий, которая даёт возможность разработчикам отслеживать изменения в файлах и работать над одним проектом совместно с коллегами. Она была разработана в 2005 году Линусом Торвальдсом, создателем Linux, чтобы другие разработчики могли вносить свой вклад в ядро Linux. Git известен своей скоростью, простым дизайном, поддержкой нелинейной разработки, полной децентрализацией и возможностью эффективно работать с большими проектами.

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

  • Бесплатный и open-source. Можно бесплатно скачать и вносить любые изменения в исходный код;
  • Небольшой и быстрый. Выполняет все операции локально, что увеличивает его скорость. Кроме того, Git локально сохраняет весь репозиторий в небольшой файл без потери качества данных;
  • Резервное копирование. Git эффективен в хранении бэкапов, поэтому известно мало случаев, когда кто-то терял данные при использовании Git;
  • Простое ветвление. В других системах контроля версий создание веток— утомительная и трудоёмкая задача, так как весь код копируется в новую ветку. В Git управление ветками реализовано гораздо проще и эффективнее.
Читайте также:
Программа airdroid cast что это за программа

Теперь пора разобраться, что такое GitHub и как он работает с Git.

Что такое GitHub и чем он отличается от Git

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

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

Java Developer Открытие , Удалённо , По итогам собеседования

Кроме GitHub есть другие сервисы, которые используют Git, — например, Bitbucket и GitLab. Вы можете разместить Git-репозиторий на любом из них.

Что такое система контроля версий

Чтобы лучше понимать, что такое Git и как он работает, нужно ещё знать, что такое система контроля версий.

Системы контроля версий (СКВ, VCS, Version Control Systems) позволяют разработчикам сохранять все изменения, внесённые в код. При возникновении проблем они могут просто откатить код до рабочего состояния и не тратить часы на поиски ошибок.

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

Типы систем контроля версий

Теперь вы знаете, что такое система контроля версий. Однако они тоже бывают разными. Существует три типа СКВ: локальная, централизованная и распределённая.

Локальные системы контроля версий (ЛСКВ)

Схема локальной системы контроля версий

Принцип работы локальной системы контроля версий

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

Централизованные системы контроля версий (ЦСКВ)

Схема централизованной системы контроля версий

Принцип работы централизованной системы контроля версий

ЦСКВ были созданы для решения проблемы взаимодействия с другими разработчиками. Такие системы имеют единственный сервер, содержащий все версии файлов, и некоторое количество клиентов, которые получают файлы из этого централизованного хранилища и там же их сохраняют. Тем не менее, такой подход имеет существенный недостаток — выход сервера из строя обернётся потерей всех данных. Кроме того, в таких системах может быть затруднена одновременная работа нескольких разработчиков над одним файлом.

Распределённые системы контроля версий (РСКВ)

Схема распределённой системы контроля версий

Принцип работы распределённой системы контроля версий

Недостаток ЦСКВ был исправлен в РСКВ, клиенты которых не просто скачивают снимок всех файлов (состояние файлов на определённый момент времени), а полностью копируют репозиторий. Это значит, что у каждого клиента есть копия всего исходного кода и внесённых изменений.

В этом случае, если один из серверов выйдет из строя, любой клиентский репозиторий может быть скопирован на другой сервер для продолжения работы. Ещё одним преимуществом РСКВ является то, что они могут одновременно взаимодействовать с несколькими удалёнными репозиториями. Благодаря этому разработчики могут параллельно работать над несколькими проектами. Именно поэтому Git сейчас так популярен.

Источник: tproger.ru

Краткий обзор GitHub и начало работы с ним

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

Зачем нужен Git

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

Читайте также:
Avi converter что это за программа

Основные возможности 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. Клонировать нужный репозиторий и начать работать с ним в клиенте

Источник: codex.so

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru