GitHub — легендарная платформа для совместного управления кодом

1. Darklight 21.01.20 17:48 manlak; Дон Кихот; kamsky93; rusmil; TreeDogNight; user764477; memb3r; artms; sasha777666; OneEset; frkbvfnjh; pavlov_dv; asupsam; Brawler; +14Ответить

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

Что такое Git

Отслеживать изменения в файле с течением времени сложно, но важно. Git — это система контроля версий (VCS) — инструмент, который помогает отслеживать различия в файле с течением времени.github-1024x559.jpg

Вероятно, вы испытали менее изощренное управление версиями, например функции «отменить» или «вернуться» в Microsoft Word, которые позволяют вам вернуться к ранее сохраненной версии файла. Возможно, вы создали свой собственный контроль версий, сохранив черновики файла с разными именами файлов. Git выводит это на следующий уровень, позволяя точно определить, когда вы сохраняете версию проекта, а также предоставлять аннотации при этом.

Вы можете создать версии проекта, сделав его хранилищем. Репозиторий — это папка с включенным отслеживанием Git, которая содержит файлы и. Следует иметь в виду, что Git чаще всего используется «локально», что просто означает на вашем компьютере. Это в отличие от GitHub, который является веб-сайтом, на котором размещены репозитории Git.

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

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

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

Поскольку Git ориентирован на управление изменениями, он часто используется как инструмент для совместной работы. В результате, он позволяет пользователям одновременно работать над одним и тем же проектом. Отслеживая их индивидуальные изменения, Git может свести все вместе к финальной версии.project.jpg

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

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

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

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

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

Что такое Github

GitHub, разработанный в 2008 году, представляет собой веб-приложение, в котором размещаются репозитории Git. Команда, которая запустила GitHub, увидела, что Git может решить важные проблемы для многих команд, но сам Git часто сложен в использовании. GitHub добавляет набор инструментов для совместной работы и исследования поверх Git, чтобы помочь быть более продуктивными.pject.jpg

Например, GitHub позволяет легко обмениваться кодом между несколькими компьютерами и разработчиками. Он стал инструментом централизованной организации сообщества open source и, в свою очередь, используется тысячами компаний и команд. У некоторых пользователей GitHub есть один репо, с которым они работают каждый день, у некоторых — сотни.

Наиболее важные инструменты слоев GitHub поверх Git включают в себя:

  • Запросы на извлечение, которые позволяют разработчикам предлагать изменения и запрашивать отзывы и обсуждения от других разработчиков (так называемый Code Review).
  • Проблемы, которые разработчики используют для отслеживания ошибок, улучшений или других запросов, связанных с данным репозиторием.

Официальный сайт GitHub.

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

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

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

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

Компании, которые используют Github

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

Многие компании имеют как публичные, так и частные репозитории, поскольку в разработке ПО существует прецедент альтруизма с открытым исходным кодом. Например, у Facebook есть множество ПО с открытым исходным кодом на GitHub.

Другие популярные компании, которые используют Git и GitHub для размещения исходного кода:

  • Netflix
  • Amazon
  • Airbnb
  • Google
  • IBMsits-1024x559.jpg

GitHub — безусловно, самый популярный хостинг Git. По состоянию на октябрь 2018 года в мире насчитывалось 31 миллион пользователей с более чем 96 миллионами хранилищ. По состоянию на октябрь 2017 года у GitHub было почти в 5 раз больше пользователей, чем у следующего популярного сайта с исходным кодом, Bitbucket.

Преимущества и недостатки Github

Преимущества

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

Недостатки

  • Основным недостатком как Git, так и GitHub является то, что у них обоих довольно трудно обучиться.

Установка и конфигурция

Для установки гитзхаба понадобится лишь одна команда — sudo apt-get install gitДля начала зафиксируем ваше имя и почту git config —global user.name «Имя» git config —global user.email «почта»Создаём локальный репозиторий. git init testcd testВ данную папку можно выводить любые файлы. Я создам файл readme. subl READMEи файл типа C. subl test.cТеперь его можно добавить в индекс двумя командами:

git add READMEgit add sample.cКогда все файлы готовы вы можете прокоммнтировать их git commit -m «комментарий»Переходим на сайт, регистрируем свой профиль если не сделали этого ранее, и добавляем репозиторий, нажав на плюс в правом нижнем углу.Называем репозиторий также, как и в консоли, и натраиваем по вашей необходимостиТеперь можно вывести все файлы в сам репозиторий, вписав команду git remote add origin https://github.com/имя/test.git . Не забудьте изменить строку с названием репозитория и вашим именем.

Вывод

GitHub — лучшее решение для контроля версий кода и совместной работы над программными продуктами.

Github — это очень известная платформа для хранения, распространения и управления исходным кодом открытых проектов. Этот сервис используют множество разработчиков по всему миру, среди которых есть и крупные компании, такие как Microsoft, RedHat и множество других, также сотни разработчиков многих популярных проектов.

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

Итак, допустим, у вас есть свой проект и вы хотите разместить его код на Github в открытом доступе чтобы другие пользователи могли его посмотреть и участвовать в разработке. Первое что вам нужно сделать — создать аккаунт.

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

Когда завершите ввод, нажмите кнопку «Sign Up Free»:

На следующем шаге вам нужно выбрать тип репозитория. Публичные репозитории бесплатны, но если вы хотите создать частный репозиторий, код из которого будет доступен только вам, то придется платить $7 в месяц.

Аккаунт готов, и вы будете перенаправлены на страницу, где сможете создать свой первый проект. Но перед тем как вы сможете это сделать, нужно подтвердить свой Email адрес. Для этого откройте ваш почтовый ящик и перейдите по ссылке в письме от Github.

Никакая настройка github не нужна, достаточно лишь несколько кликов мышкой.

На открывшейся странице, это главная страница для авторизованных пользователей, нажмите кнопку «Start a project»:

Дальше введите имя и описание будущего репозитория:

Вы можете сразу же инициализировать репозиторий, создав файл Readme, для этого нужно отметить галочку «Initialize this repository with a README» внизу страницы. Также можно выбрать лицензию:

Когда все будет готово, выберите «Create project», будет создан новый проект с файлом README, в котором находится описание и файлом лицензии.

Дальше все самое интересное как работать с github.

Ветки Github позволяют работать с несколькими версиями проекта одновременно. По умолчанию при создании репозитория создается ветка master, это основная рабочая ветка. Можно создать дополнительные ветки, например, для того, чтобы тестировать программное обеспечение перед тем, как оно будет опубликовано в ветке master. Таким образом, можно одновременно разрабатывать продукт и предоставлять пользователям стабильную версию. Также можно создавать отдельные ветки для версии программы для разных систем.

Текущая ветка обозначена в верхнем левом углу после слова «Branch». Чтобы создать новую ветку просто разверните этот список и начните набирать ее имя:

Сайт сам предложит вам создать новую ветку, выберите «Create branch».

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

Любые изменения файлов на Github делаются с помощью коммитов. Коммит выполняется путем внесения самих исправлений и описания этих исправлений. Это необходимо для того, чтобы вы знали что и когда вы меняли, а также позволяет легко отслеживать работу команды. Слово коммит можно перевести как «фиксировать». То есть мы можем внести изменения в несколько файлов, а затем их зафиксировать. Давайте для примера изменим файл README. Для этого найдите в в правой стороне панели кнопку с кисточкой и нажмите на нее:

Откроется текстовый редактор, где вы можете ввести нужные вам исправления:

После того как вы сделаете все что вам нужно, необходимо заполнить поле «Commit» внизу страницы. Кратко опишите что было изменено, а затем нажмите кнопку «Commit changes»:

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

GitHub для начинающих может показаться очень сложным именно из-за таких возможностей, но это очень удобно если разобраться. Запрос слияния или Pull Request — это возможность, благодаря которой любой разработчик может попросить другого, например, создателя репозитория просмотреть его код и добавить его в основной проект или ветку. Инструмент работы с запросами слияния использует инструмент сравнения diff, поэтому вы можете увидеть все изменения, они будут подчеркнуты другим цветом. Pull Request можно создать сразу же после создания коммита. Давайте отправим Pull Request из нашей testing ветки в основную. Сначала откройте вкладку «Pull Request».

Здесь нажмите кнопку «Create Pull Request»:

Дальше вам нужно будет выбрать ветку, которую нужно слить с основной, в нашем случае «testing».

В этом окне вы можете просмотреть все изменения, сейчас мы видим, что была добавлена строчка:

Дальше нажмите зеленую кнопку «Create Pull Request» и введите описание, как и для коммита:

Теперь, на той же вкладке Pull Requests мы видим только что созданный запрос на слияние и нам остается только принять его нажав «Merge Pull Request»:

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

Дальше можно подтвердить Pull Request:

Затем код будет импортирован в основную ветку, а ветка testing может быть безопасно удалена.

Удобно еще то, что возможно использование GitHub не только для разработки и управления кодом, но и для обратной связи с пользователями. На вкладке «Issue» пользователи могут оставлять сообщения о проблемах, с которыми они столкнулись при использовании вашего продукта. Откройте вкладку «Issues», и нажмите на кнопку «New issue»:

Дальше вам осталось ввести заголовок, текст и нажать «Create new issue».

Последнее что мы сегодня рассмотрим — это релизы. Когда продукт достиг определенной стадии можно выпустить релиз, чтобы пользователи и вы могли быть уверенны что там все стабильно и никто ничего не сломал неверным Pull Request в Master. Сначала нужно перейти на главную страницу проекта, затем на вкладку «Releases»:

Дальше нажмите кнопку «Create New Release»:

На этой странице нужно указать версию в поле «Tag Version», затем имя релиза и небольшое описание. Если у вас есть скомпилированные архивы с бинарниками то их тоже нужно прикрепить сюда. Затем нажмите «Create Release»:

После создания релиза будет создана такая страничка:

Ссылки на исходный код в tar.gz и zip будут созданы автоматически, все остальные файлы вам придется добавлять вручную.

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

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий