19 авг 2022 · 10:00    
{"document": [{"text": [{"type": "string", "attributes": {}, "string": "Теперь, когда у нас есть базовое понимание того, что такое Git, давайте посмотрим, что такое GitHub. Нам нравится следующая аналогия, поскольку в ней очень много смысла:"}], "attributes": []}, {"text": [{"type": "string", "attributes": {"italic": true}, "string": "Есть разница между порно и pornhub."}], "attributes": ["quote"]}, {"text": [{"type": "string", "attributes": {}, "string": "Что такое GitHub?"}], "attributes": ["heading1"]}, {"text": [{"type": "string", "attributes": {}, "string": "GitHub - это сайт для размещения ваших Git-репозиториев. Но не только это, он шире, поскольку это также место для миллионов других разработчиков, где они могут размещать свой код."}], "attributes": []}, {"text": [{"type": "attachment", "attributes": {"presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.01.png", "filesize": 66929, "height": 1080, "pic_id": 127624, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.01.jpeg", "width": 1920}}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Многие организуют все свое сообщество разработчиков открытого кода на GitHub, превращая его в единственную точку общения. GitHub замечателен тем, что имеет автоматизированные действия, решение проблем и управление командной разработкой."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Кроме того, он дает нам очень хороший визуальный обзор нашего кода, веток и pull-request'ов."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Более подробный взгляд на репозиторий GitHub"}], "attributes": ["heading1"]}, {"text": [{"type": "string", "attributes": {}, "string": "Мы открываем репозиторий на GitHub, и вот что обычно нас встречает:"}], "attributes": []}, {"text": [{"type": "attachment", "attributes": {"presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.02.png", "filesize": 476950, "height": 1453, "pic_id": 127625, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.02.jpeg", "width": 1250}}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Для удобства мы разделили этот скриншот на четыре секции:"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Заголовок репозитория"}], "attributes": ["numberList", "number"]}, {"text": [{"type": "string", "attributes": {}, "string": "Файлы проекта"}], "attributes": ["numberList", "number"]}, {"text": [{"type": "string", "attributes": {}, "string": "Боковая панель"}], "attributes": ["numberList", "number"]}, {"text": [{"type": "string", "attributes": {}, "string": "Readme"}], "attributes": ["numberList", "number"]}, {"text": [{"type": "string", "attributes": {}, "string": "Давайте пройдемся по каждому из этих пунктов и посмотрим, что они дают нам более подробно."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "1. Заголовок репозитория GitHub"}], "attributes": ["heading1"]}, {"text": [{"type": "attachment", "attributes": {"presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.03.png", "filesize": 23544, "height": 113, "pic_id": 127626, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.03.jpeg", "width": 1092}}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Заголовок репозитория GitHub содержит много информации и даёт нам быстрый обзор того, что мы можем делать с этим репозиторием."}], "attributes": []}, {"text": [{"type": "string", "attributes": {"italic": true}, "string": "Слева вверху указывается компания/пользователь и название репозитория. В этом конкретном примере компания - dailydotdev, и они просматривают репозиторий ежедневно. Здесь также указано, что это публичное репозиторий, так что любой может внести в него свои изменения."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Справа вы видите несколько важных значков с цифрами. Они очень важны для открытого исходного кода:"}], "attributes": []}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Watch"}, {"type": "string", "attributes": {}, "string": ": грубо говоря фолловить репозиторий. Если вы что-то делаете для данного репозитория, она будет отображаться на вашей домашней странице GitHub."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Star"}, {"type": "string", "attributes": {}, "string": ": Звезды - одна из самых значимых вещей в GitHub для проектов с открытым исходным кодом. Принцип работы GitHub таков, что репозитории с наибольшим количеством звезд будут отображаться выше в поиске. Поэтому, если вам нравится проект, обязательно поставьте ему звезду!"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Fork"}, {"type": "string", "attributes": {}, "string": ": Форк проекта означает, что вы клонируете проект в свой профиль как клон этого проекта. Общая идея заключается в том, что вы будете работать над проблемой и потом заливать решение обратно. Но вы можете сделать форк, внести изменения и использовать свою версию."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Последняя часть заголовка содержит меню для навигации по опциям репозитория:"}], "attributes": []}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Code"}, {"type": "string", "attributes": {}, "string": ": Собственно файлы кода этого проекта. И вообще, главная страница, на которую мы заходим."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Issues"}, {"type": "string", "attributes": {}, "string": ": Как следует из названия - это проблемы, которые регистрируются для данного репозитория. Для публичных репозиториев любой может зарегистрировать проблему, и это хорошо известный способ регистрации проблем для открытого исходного кода."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "attachment", "attributes": {"caption": "Экран Issues на GitHub", "presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.04.png", "filesize": 133770, "height": 625, "pic_id": 127629, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.04.jpeg", "width": 1102}}], "attributes": []}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Pull requests"}, {"type": "string", "attributes": {}, "string": ": В целом, когда дело доходит до использования Git, существует способ работы, который использует Pull requests для проверки кода перед его переносом в реальную кодовую базу. GitHub предоставляет очень хороший визуальный экран для этих запросов."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "attachment", "attributes": {"caption": "Экран запросов на вытягивание на GitHub", "presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.05.png", "filesize": 122453, "height": 603, "pic_id": 127630, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.05.jpeg", "width": 1105}}], "attributes": []}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Discussions"}, {"type": "string", "attributes": {}, "string": ": Обсуждения - это форум, подобный репозиторию. Это отличный способ вести открытые дискуссии с людьми, которые используют репозиторий. Сюда также можно включить обсуждения функций, которые еще не стали проблемой."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "attachment", "attributes": {"caption": "Экран обсуждений GitHub", "presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.06.png", "filesize": 364692, "height": 728, "pic_id": 127631, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.06.jpeg", "width": 1104}}], "attributes": []}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Actions"}, {"type": "string", "attributes": {}, "string": ": Действия - это, пожалуй, самая лучшая вещь в GitHub. Они предоставляют возможность выполнять определенные действия, если что-то происходит в нашем репозитории. Приведём пример: допустим, произошло слияние PR. Это может вызвать действие, которое автоматически разместит этот код на нашем сайте."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "attachment", "attributes": {"caption": "Экран действий GitHub", "presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.07.png", "filesize": 138485, "height": 669, "pic_id": 127632, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.07.jpeg", "width": 1098}}], "attributes": []}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Wiki"}, {"type": "string", "attributes": {}, "string": ": Вики - это встроенная википедия. Это отличный способ добавить более расширенное многостраничное readme. И может рассказать людям гораздо более подробно о некоторых аспектах вашего проекта."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "attachment", "attributes": {"caption": "Пример вики на GitHub", "presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.08.png", "filesize": 185217, "height": 873, "pic_id": 127633, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.08.jpeg", "width": 1103}}], "attributes": []}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Security"}, {"type": "string", "attributes": {}, "string": ": Вкладка «Безопасность» наиболее важна для сопровождающих проекта. На ней указаны все уязвимости, которые могут быть у проекта. Она также может просканировать вашу кодовую базу на предмет таких распространенных ошибок, как включение секретов в код. Отсюда же можно настроить dependabot."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "attachment", "attributes": {"caption": "Вкладка безопасности GitHub", "presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.09.png", "filesize": 73989, "height": 380, "pic_id": 127634, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.09.jpeg", "width": 1135}}], "attributes": []}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Insights"}, {"type": "string", "attributes": {}, "string": ": Вкладка Insights дает хороший обзор активности в конкретном репозитории. Она также показывает вкладчиков и зависимости. Это отличный способ увидеть, насколько хорошо используется репозиторий."}], "attributes": []}, {"text": [{"type": "attachment", "attributes": {"caption": "Объяснение вкладки GitHub Insights", "presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.10.png", "filesize": 85907, "height": 513, "pic_id": 127635, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.10.jpeg", "width": 1101}}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "2. Файлы проекта GitHub"}], "attributes": ["heading1"]}, {"text": [{"type": "string", "attributes": {}, "string": "Project files - это фактические файлы проекта. Мы можем перемещаться по папкам и открывать файлы из этой вкладки."}], "attributes": []}, {"text": [{"type": "attachment", "attributes": {"caption": "Раздел файлов проекта GitHub", "presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.11.png", "filesize": 89965, "height": 429, "pic_id": 127636, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.11.jpeg", "width": 825}}], "attributes": []}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Branch dropdown"}, {"type": "string", "attributes": {}, "string": ": Этот выпадающий список можно использовать для переключения между всеми ветками в репозитории. И показать код, принадлежащий этой ветке."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Branches"}, {"type": "string", "attributes": {}, "string": ": Это список всех ветвей и их сравнение с основной ветвью. Он быстро показывает, какая ветвь опережает или отстает от основной/мастер-ветви, а также открытые PR."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "attachment", "attributes": {"caption": "Экран ветвей GitHub", "presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.12.png", "filesize": 123275, "height": 632, "pic_id": 127637, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.12.jpeg", "width": 1095}}], "attributes": []}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Tags"}, {"type": "string", "attributes": {}, "string": ": Теги открывает обзор тегов. Теги - это конкретные релизы, получившие метку. Как правило, это стабильные версии проекта, которые вы можете использовать."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "attachment", "attributes": {"caption": "Экран тегов GitHub", "presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.13.png", "filesize": 56380, "height": 536, "pic_id": 127638, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.13.jpeg", "width": 1089}}], "attributes": []}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Go to file"}, {"type": "string", "attributes": {}, "string": ": Эту кнопку можно использовать для быстрого поиска файла в проекте. Должен признаться, что мы сами этим не пользуемся."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Add file"}, {"type": "string", "attributes": {}, "string": ": С помощью этой кнопки можно добавить файл непосредственно в проект. Он также будет добавлен в историю фиксации. Но мы бы всегда советовали использовать обычный "}, {"type": "string", "attributes": {"bold": true}, "string": "git-flow"}, {"type": "string", "attributes": {}, "string": "."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {"bold": true}, "string": "Code dropdown"}, {"type": "string", "attributes": {}, "string": ": Это выпадающее окно можно использовать для загрузки кодовой базы по ссылке или через SSH."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "attachment", "attributes": {"caption": "Загрузка кода с GitHub", "presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.14.png", "filesize": 33969, "height": 322, "pic_id": 127639, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.14.jpeg", "width": 396}}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "3. Боковая панель репозитория GitHub"}], "attributes": ["heading1"]}, {"text": [{"type": "string", "attributes": {}, "string": "Боковая панель предоставляет много быстрой информации о репозитории в кратком обзоре."}], "attributes": []}, {"text": [{"type": "attachment", "attributes": {"caption": "Элемент боковой панели GitHub для репозитория", "presentation": "gallery"}, "attachment": {"caption": "", "contentType": "image/png", "filename": "18.08.2022.15.png", "filesize": 104272, "height": 1188, "pic_id": 127640, "url": "https://storage.yandexcloud.net/pabliko.files/article_cloud_image/2022/08/16/18.08.2022.15.jpeg", "width": 284}}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "В боковой панели мы видим много интересных вещей:"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Раздел «О проекте», описывающий проект"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Ссылка на домашнюю страницу проекта"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Теги, связанные с этим репозиторием"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Ссылки на лицензию и readme"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Релизы для проекта"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Пакеты, если проект публикует свои собственные пакеты"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Соавторы, добавившие код в этот проект"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Пользователи этого репозитория"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Языки, используемые в кодовой базе"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "4. GitHub readme"}], "attributes": ["heading1"]}, {"text": [{"type": "string", "attributes": {}, "string": "Readme является важной частью проектов с открытым исходным кодом. По сути это приветственная страница вашего проекта. Вы следует использовать этот файл и написать что-нибудь о проекте, чтобы другие люди понимали, для чего он нужен и как его использовать."}], "attributes": []}, {"text": [{"type": "string", "attributes": {"italic": true}, "string": "Немного позже мы напишем для вас более подробную статью о том, как должен выглядеть хороший readme."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Краткая версия будет такой:"}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Опишите ваш проект"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Как его использовать"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Вкратце опишите, как он работает (архитектура)."}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Как запустить проект"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Вопросы протоколирования"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Лицензия"}], "attributes": ["bulletList", "bullet"]}, {"text": [{"type": "string", "attributes": {}, "string": "Это не золотой стандарт и он может быть адаптирован к потребностям вашего проекта. Наш лучший совет - посмотреть, что делают другие крупные проекты со своими readme, и работать на основе этого."}], "attributes": []}, {"text": [{"type": "string", "attributes": {}, "string": "Заключение"}], "attributes": ["heading1"]}, {"text": [{"type": "string", "attributes": {}, "string": "Вот и все. Надеемся, вы получили хорошее представление о том, как устроен репозиторий GitHub и как мы можем его использовать. В следующих статьяъ мы более подробно рассмотрим создание нашего репозитория и размещение в нем кода."}], "attributes": []}], "selectedRange": [0, 6685]}
Комментарии 1