Практическое руководство по участию в проектах с открытым исходным кодом


Содержание
  1. Оглавление
  2. Введение
  3. Использование GitHub
  4. Создание локального git-репозитория
  5. 1. Инициализация нового git-репозитория
  6. 2. Создайте файл
  7. 3. Зафиксировать изменения
  8. Создание репозитория на GitHub
  9. 1. Войдите на GitHub
  10. 2. Создайте репозиторий на GitHub
  11. Отправка кода в репозиторий GitHub
  12. 1. Добавьте remote в локальный git-репозиторий
  13. 2. Переименуйте ветку с master на main.
  14. 3. Отправка кода на GitHub
  15. Вклад в проекты с открытым исходным кодом
  16. Шаг 1: Поиск репозитория для участия в проекте
  17. Шаг 2: Форк репозитория
  18. Шаг 3: Клонирование вилки
  19. Шаг 4: Переход к локальному хранилищу
  20. Шаг 5: Проверка удаленности «origin»
  21. Шаг 6: Добавление «upstream» пульта
  22. Шаг 7: Извлечение последних изменений
  23. Шаг 8: Создание новой ветки
  24. Шаг 9: Внесение изменений
  25. Шаг 10: Фиксация изменений
  26. Шаг 11: Передача изменений в форк
  27. Шаг 12: Создание запроса на притяжение
  28. Шаг 13: Обсуждение заявки
  29. Шаг 14: Добавление новых коммитов к существующему запросу на притяжение
  30. Шаг 15: Повторное обсуждение pull request
  31. Шаг 16: Удаление ветки из форка
  32. Шаг 17: Удаление ветки из локального репозитория
  33. Шаг 18: Синхронизация форка с репозиторием проекта

Оглавление

  • Введение
  • Использование GitHub
    • Создание локального git-репозитория
    • Создание репозитория на GitHub
    • Размещение кода в репозитории GitHub
  • Вклад в проекты с открытым исходным кодом
    • Шаг 1: Найдите репозиторий, в который можно внести свой вклад
    • Шаг 2: Форкирование репозитория
    • Шаг 3: Клонирование форка
    • Шаг 4: Переход к локальному репозиторию
    • Шаг 5: Проверка «origin» remote
    • Шаг 6: Добавление «upstream» remote
    • Шаг 7: Извлечение последних изменений
    • Шаг 8: Создание новой ветки
    • Шаг 9: Внесение изменений
    • Шаг 10: Коммит изменений
    • Шаг 11: Передача изменений в вилку
    • Шаг 12: Создание pull request
    • Шаг 13: Обсуждение pull request
    • Шаг 14: Добавление дополнительных коммитов к существующему запросу на исправление
    • Шаг 15: Повторное обсуждение запроса на исправление
    • Шаг 16: Удаление ветки из форка
    • Шаг 17: Удаление ветки из локального репозитория
    • Шаг 18: Синхронизация вилки с репозиторием проекта

Введение

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

Недавно я услышал о терминах GitHub и Open Source Software. Мне интересно узнать о них. Не могли бы вы рассказать мне что-нибудь о них?

ВТ: Да, конечно.

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

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

Майк: Не могли бы вы объяснить, как я могу использовать GitHub?

ВТ: Хорошо, давайте начнем.

Использование GitHub

VT: Давайте создадим git-репозиторий и разместим его на GitHub.

Майк: Хорошо, я взволнован.

📌 Убедитесь, что у вас установлен git, прежде чем двигаться дальше.

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

1. Инициализация нового git-репозитория

VT: Сначала нам нужно создать git-репозиторий на нашем компьютере.

Откройте терминал (или командную строку) в пустой папке или папке проекта и выполните следующую команду:

$ git init
Войти в полноэкранный режим Выйти из полноэкранного режима

Выход:

2. Создайте файл

VT: Теперь у нас создан репозиторий git. Давайте создадим новый файл.

Создайте новый файл (или измените существующий) в папке, где мы установили git-репозиторий.

Назовем наш файл index.html и добавим в него следующий код:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>GitHub Guide</title>
  </head>
  <body>
    <h1>Hello GitHub!</h1>
  </body>
</html>
Вход в полноэкранный режим Выйти из полноэкранного режима

Сохраните файл.

VT: Теперь мы можем выполнить эту команду, чтобы увидеть наши изменения, отслеживаемые git.

$ git status
Войти в полноэкранный режим Выйти из полноэкранного режима

Выход:

3. Зафиксировать изменения

VT: Давайте зафиксируем наши изменения.

Выполните следующие команды:

$ git add index.html
$ git commit -m "added index.html"
Войти в полноэкранный режим Выйти из полноэкранного режима

Выход:

Майк: Хорошо, я успешно зафиксировал свои изменения. Что дальше?

VT: Далее, самая интересная часть, мы создадим репозиторий на GitHub.

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

1. Войдите на GitHub

VT: Первый шаг — войти в GitHub.

📌 Если вы новичок на GitHub, создайте новый аккаунт на GitHub.

📌 В целях безопасности GitHub предоставляет PAT (Personal Access Token) для использования вместо пароля при размещении кода на GitHub. Пожалуйста, сгенерируйте PAT сразу после первого входа в GitHub. Вы можете сгенерировать PAT, следуя этому руководству.

2. Создайте репозиторий на GitHub

VT: Нажмите на значок + в правом верхнем углу главной страницы GitHub.

Выберите Новый репозиторий.

Откроется страница для создания нового репозитория.

Введите имя и описание (необязательно) для нового хранилища.

Выберите, сделать ли хранилище Public или Private.

Нажмите кнопку Создать репозиторий в нижней части страницы.

VT: Теперь у нас есть созданный репозиторий GitHub. Давайте посмотрим, как мы можем перенести наш код в репозиторий GitHub.

Отправка кода в репозиторий GitHub

1. Добавьте remote в локальный git-репозиторий

Майк: Что вы имеете в виду под добавлением remote?

VT: Подключение нашего локального git-репозитория к удаленному (онлайн) репозиторию, например, к репозиторию GitHub, и есть то, что означает добавление remote.

Это позволяет нам получать обновления и передавать наши изменения в удаленный репозиторий.

Мы можем добавить remote в наш локальный git-репозиторий, выполнив следующую команду:

$ git remote add origin URL_OF_GITHUB_REPOSITORY
Войти в полноэкранный режим Выйти из полноэкранного режима

📌 Обязательно замените URL_OF_GITHUB_REPOSITORY на URL вашего собственного репозитория GitHub с добавлением .git в конце.

2. Переименуйте ветку с master на main.

VT: Прежде чем мы сможем отправить наш git-репозиторий на GitHub, мы должны переименовать ветку master в main.

Майк: Почему мы должны переименовать ветку git?

ВТ: Потому что GitHub использует main в качестве ветки по умолчанию, в то время как git использует master.

Выполните следующую команду, чтобы переименовать текущую ветку в main:

$ git branch -M main
Вход в полноэкранный режим Выход из полноэкранного режима

3. Отправка кода на GitHub

VT: Теперь пришло время отправить наш код на GitHub.

Выполните следующую команду:

$ git push -u origin main
Войти в полноэкранный режим Выйти из полноэкранного режима

Когда появится запрос, введите имя пользователя и пароль GitHub.

📌 Вместо пароля используйте свой PAT (Personal Access Token).

Поздравляем! Теперь у нас есть полный репозиторий GitHub.🎉🎉🎉


Вклад в проекты с открытым исходным кодом

Шаг 1: Поиск репозитория для участия в проекте

VT: Чтобы внести вклад в проект с открытым исходным кодом, мы должны сначала перейти в репозиторий проекта на GitHub.

Но для практики я создал репозиторий GitHub под названием github-playground. Вы можете найти его здесь.

📌 Я рекомендую вам следовать этому руководству и вносить вклад в репозиторий GitHub (github-playground).

VT: Перейдите на https://github.com/vishwast03/github-playground.

Шаг 2: Форк репозитория

Майк: Что вы имеете в виду под «форкингом»?

VT: Здесь «форк» означает копирование оригинального репозитория на наш собственный аккаунт.

Чтобы форкнуть репозиторий, нажмите на кнопку Fork в правом верхнем углу репозитория.

На следующей странице нажмите кнопку Create fork внизу.

Шаг 3: Клонирование вилки

VT: Теперь нам нужно клонировать форкнутый репозиторий на нашу локальную машину с помощью git.

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

Для клонирования:

  • Сначала нажмите кнопку Code на форкнутом проекте на вашем GitHub.

  • Скопируйте URL-адрес из открывшейся вкладки.

  • Выполните следующую команду для клонирования форкнутого репозитория.
$ git clone URL_OF_FORK
Войти в полноэкранный режим Выйти из полноэкранного режима

📌 Обязательно замените URL_OF_FORK на URL, который вы скопировали в предыдущем шаге.

Выход:

Шаг 4: Переход к локальному хранилищу

VT: Используйте следующую команду для перехода к локальному хранилищу:

$ cd NAME_OF_REPOSITORY
Войти в полноэкранный режим Выйти из полноэкранного режима

Шаг 5: Проверка удаленности «origin»

VT: Теперь мы проверим, добавлен ли наш форк в качестве удаленного origin или нет.

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

$ git remote -v
Войти в полноэкранный режим Выйти из полноэкранного режима

Вывод вышеприведенной команды должен выглядеть следующим образом:

📌 Если ваша вилка не была правильно добавлена как origin, вы можете использовать следующую команду, чтобы добавить ее вручную:

$ git remote add origin URL_OF_FORK
Войти в полноэкранный режим Выйти из полноэкранного режима

📌 Обязательно замените URL_OF_FORK на URL вашего форка на GitHub.

Шаг 6: Добавление «upstream» пульта

VT: Прежде чем начать работу над проектом, мы должны добавить оригинальный репозиторий проекта в качестве удаленного upstream в наш локальный репозиторий.

Это позволит нам получать обновления из основного проекта.

Используйте следующую команду для добавления удаленного upstream в наш локальный репозиторий:

$ git remote add upstream URL_OF_PROJECT
Войти в полноэкранный режим Выйти из полноэкранного режима

📌 Обязательно замените URL_OF_PROJECT на URL исходного проекта (не форка).

Вы можете проверить, был ли добавлен пульт или нет, выполнив следующую команду:

$ git remote -v
Войти в полноэкранный режим Выйти из полноэкранного режима

Результат должен выглядеть следующим образом:

Шаг 7: Извлечение последних изменений

VT: Лучшая практика — всегда загружать последние изменения из upstream перед началом работы над проектом.

Выполните следующую команду для извлечения последних изменений из upstream в наш локальный репозиторий:

$ git pull upstream main
Войти в полноэкранный режим Выйти из полноэкранного режима

Выход:

Шаг 8: Создание новой ветки

VT: Давайте создадим новую ветку, чтобы начать нашу работу.

💡 Всегда создавайте новую ветвь перед началом работы над проектом.

Выполните следующую команду:

$ git checkout -b BRANCH_NAME
Войти в полноэкранный режим Выйти из полноэкранного режима

📌 Обязательно замените BRANCH_NAME на имя, которое вы хотите дать своему ответвлению (например, feature).

Вы можете перечислить все свои ответвления, выполнив следующую команду:

$ git branch
Войти в полноэкранный режим Выйти из полноэкранного режима

Выход:

Шаг 9: Внесение изменений

VT: Пришло время внести некоторые изменения в наш проект.

Если вы работаете над проектом github-playground, откройте файл Players.md в вашем любимом текстовом редакторе.

Добавьте следующую строку в файл Players.md:

- [YOUR_NAME](YOUR_PROFILE_URL)
Войти в полноэкранный режим Выйти из полноэкранного режима

📌 Обязательно замените YOUR_NAME на ваше настоящее имя и YOUR_PROFILE_URL на URL вашего профиля (вы можете использовать любой профиль, который вы хотите, например, GitHub, Twitter, dev.to и т.д.).

📌 Если вы не хотите делиться своим профилем, напишите свое имя так:

- YOUR_NAME
Войти в полноэкранный режим Выйти из полноэкранного режима

Сохраните файл.

Шаг 10: Фиксация изменений

VT: Теперь давайте сделаем фиксацию изменений в репозитории.

Выполните следующую команду, чтобы добавить изменения в область постановки и сделать фиксацию в хранилище:

$ git add .
$ git commit -m "DESCRIPTION_OF_CHANGES"
Вход в полноэкранный режим Выход из полноэкранного режима

📌 Обязательно замените DESCRIPTION_OF_CHANGES на фактическое описание.

Выход:

Шаг 11: Передача изменений в форк

VT: Теперь мы отправим наши изменения в наш форкнутый репозиторий.

Майк: Почему мы должны отправлять изменения в форкнутый репозиторий? Разве мы не можем просто перенести изменения в оригинальный репозиторий?

VT: Мы не можем перенести изменения непосредственно в оригинальный репозиторий. У нас нет доступа к этому хранилищу.

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

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

$ git push origin BRANCH_NAME
Войти в полноэкранный режим Выйти из полноэкранного режима

📌 Обязательно замените BRANCH_NAME на название ветки, с которой вы работаете.

Когда появится запрос, введите имя пользователя и пароль GitHub.

📌 Вместо пароля используйте свой PAT (Personal Access Token).

Выход:

Шаг 12: Создание запроса на притяжение

VT: Теперь пришло время сделать запрос на исправление.

Перейдите к форкнутому репозиторию на GitHub.

Должно появиться приглашение сделать pull requset.

Нажмите на кнопку Compare & pull request.

На следующей странице добавьте Title и Description к вашему pull request.

Теперь нажмите кнопку Create pull request внизу.

Мы успешно создали запрос на притяжение. Ура!

Майк: О! Отлично! Что нам нужно делать дальше?

ВТ: Теперь мы должны обсудить запрос на исправление с сопровождающим репозитория и, если необходимо, внести дополнительные изменения.

Шаг 13: Обсуждение заявки

VT: Теперь, когда мы сделали запрос на исправление, владелец/сопровождающий хранилища будет уведомлен об этом.

Мейнтейнеры могут начать обсуждение запроса и, если необходимо, предложить изменения.

Если они удовлетворены внесенными нами изменениями, они либо объединят изменения обратно в исходный репозиторий, либо предложат некоторые изменения.

Если они предложили какие-либо изменения, мы должны их реализовать и сделать еще один коммит к существующему запросу.

Шаг 14: Добавление новых коммитов к существующему запросу на притяжение

VT: Если нам нужно внести изменения после подачи pull request, мы должны перейти в наш локальный git-репозиторий и внести изменения там.

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

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

$ git branch
$ git checkout BRANCH_NAME
Войти в полноэкранный режим Выйти из полноэкранного режима

📌 Обязательно замените BRANCH_NAME на название ветки, с которой вы работали.

Выход:

Теперь, когда мы переключились на ветку, с которой будем работать, нам нужно просто повторить шаги с 9 по 11.

Шаг 15: Повторное обсуждение pull request

VT: Теперь мы должны повторно обсудить запрос на исправление с сопровождающими хранилища.

Если сопровождающие одобрят и объединят ваши изменения, вы сделаете свой первый вклад в открытый исходный код. Пришло время праздновать.🎉🎉🎉

Майк: Ура!!!

Шаг 16: Удаление ветки из форка

VT: Теперь нам нужно провести некоторую очистку.

Мы должны удалить ветку из нашего форка на GitHub.

Для этого мы должны сначала перейти на страницу нашего форкнутого репозитория и открыть выпадающий список с названием ветки main.

Нажмите View all branches в нижней части выпадающего меню.

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

Нажмите Удалить в появившемся всплывающем окне.

Шаг 17: Удаление ветки из локального репозитория

VT: Теперь мы удалим ветку из нашего локального репозитория.

Сначала переключитесь на ветку main, выполнив следующую команду:

$ git checkout main
Войти в полноэкранный режим Выйти из полноэкранного режима

Теперь выполните следующую команду, чтобы удалить ветку из локального git-репозитория:

$ git branch -D BRANCH_NAME
Enter fullscreen mode Выйти из полноэкранного режима

📌 Обязательно замените BRANCH_NAME на название ветки, с которой вы работали.

Выходные данные:

Шаг 18: Синхронизация форка с репозиторием проекта

VT: Наконец, если мы собираемся вносить вклад в этот проект в будущем, мы должны синхронизировать наш форк с репозиторием проекта.

Для этого просто выполните следующую команду:

$ git pull upstream main
$ git push origin main
Войти в полноэкранный режим Выйти из полноэкранного режима

Введите имя пользователя и пароль, когда появится запрос.

📌 Вместо пароля используйте свой PAT (Personal Access Token).

Эти команды извлекут последние изменения из репозитория проекта и перенесут их в наш форк.

Поздравляем с вашим первым вкладом в открытый исходный код!🎉🎉🎉

Надеюсь, вы нашли что-то полезное в этом посте. Вы также можете следить за мной на LinkedIn и Twitter.

Будьте здоровы и до встречи в следующем! ✌️

Оцените статью
devanswers.ru
Добавить комментарий