Сложно. Всегда сложно начинать что-то с самого начала. Довольно неприятно совершать ошибки, особенно если вы работаете в команде. Весь open source состоит из сотрудничества и совместной работы. Мы хотим облегчить первые шаги в обучении и сотрудничестве начинающим разработчикам.
Чтение статей и учебников может помочь, но что может быть лучше, чем настоящий практический опыт, без риска что-либо испортить? Цель этого проекта - должным образом направить молодых новобранцев, а также предоставить им возможность сделать их первый вклад. Помните: чем меньше вы напряжены, тем лучше вы учитесь. Если вы ищете возможность осуществить свой первый вклад, просто следуйте простым шагам, расположенным ниже. Обещаем, будет интересно.
Если вам нужна помощь с командной строкой, это руководство использует инструменты графической операционной системы (GUI).
Если у вас не установлен git на компьютере, установите его.
Создайте собственную ветку, нажав на кнопку fork
сверху этой страницы. Таким образом, вы создадите копию этого репозитория в своем аккаунте.
Теперь клонируйте ваш репозиторий на ПК. Нажмите на кнопку clone
, а затем на иконку copy to clipboard
, чтобы скопировать ссылку.
Откройте терминал и запустите следующую git команду:
git clone "ссылка на репозиторий"
Где "ссылка на репозиторий" (без кавычек) - это ссылка на ваш репозиторий. Посмотрите предыдущие шаги, чтобы получить эту ссылку.
Например:
git clone https://github.com/ваш-логин/first-contributions.git
Где ваш логин
ваш логин на github'e. Таким образом вы копируете репозиторий 'first-contributions' с GitHub на ваш ПК.
Перейдите в каталог репозитория на вашем компьютере, если вы еще не там.
cd first-contributions
Теперь создайте ветку с помощью команды git checkout
git checkout -b <add-your-name>
Например:
git checkout -b add-alonzo-church
(Синтаксически не требуется, чтобы название ветки содержало слово add, но это оправдано, поскольку подчеркивает назначение этой ветки: добавить ваше имя в список.)
Теперь откройте файл Contributors.md
в вашем текстовом редакторе, впишите ваше имя и сохраните файл. Если вы перейдёте в директорию проекта и выполните git status
, вы увидите изменения. Добавьте эти изменения с помощью команды git add
.
git add Contributors.md
Теперь закоммитьте данные изменения с помощью команды git commit
.
git commit -m "Add <your-name> to Contributors list"
Измените <your-name>
на ваше имя
Запушьте ваши изменения с помощью git push
git push origin <add-your-name>
Измените <add-your-name>
на имя ветки, которую вы создали ранее.
Если вы зайдете в свой репозиторий на GitHub, вы увидите кнопку Compare & pull request
. Нажмите на нее.
Теперь подтвердите пулл-реквест.
Скоро я произведу объединение всех ваших изменений с основной веткой данного проекта. Вы получите сообщение по электронной почте, когда изменения будут приняты (смержены).
Основная ветка вашего репозитория не будет изменена. Для синхронизации выполните шаги, расположенные ниже.
Прежде всего перейдите в основную ветку:
git checkout main
Затем добавьте url моего репозитория в поле upstream remote url
:
git remote add upstream https://github.com/Roshanjossey/first-contributions
Таким образом мы сообщим git'у, что существует другая версия данного проекта по определенной ссылке, и мы ее считаем мастером. Как только изменения смержены, подгрузите новую версию моего репозитория.
git fetch upstream
Таким образом мы забрали все изменения в моём ответвлении (upstream remote). После, вам нужно смержить новую версию моего репозитория с вашей мастер-веткой.
git rebase upstream/main
Так вы применяете все изменения, которые вы подтянули к вашей мастер-ветке. Если вы запушите сейчас мастер-ветку, ваше ответвление тоже будет содержать изменения.
git push origin main
Обратите внимание, что вы пушите в удаленный репозиторий origin.
На этом этапе я объединил вашу ветку <add-your-name>
со своей мастер-веткой, а вы объединили свою мастер-ветку с моей. Ваша ветка больше не нужна, вы можете удалить её:
git branch -d <add-your-name>
Так же можете удалить её версию в удалённом репозитории:
git push origin --delete <add-your-name>
Это совершенно не обязательно, но название этой ветки отражает её довольно специфическое назначение. И продолжительность её жизни может быть соответствующе короткой.
GitHub Desktop | Visual Studio 2017 | GitKraken | Visual Studio Code | Atlassian Sourcetree | IntelliJ IDEA |
Ниже несколько популярных репозиториев, где вы можете найти задания для новичков. Вперёд, перейдите в репозитории, чтобы узнать больше.