Це важко. Це завжди важко - робити щось вперше. Проте якщо ви працюєте над проєктом з кимось, помилки будуть вдвічі неприємнішими. Але Open Source завжди пов’язаний з колективною роботою. Ми хочемо полегшити шлях для початківців, які бажають зробити свій перший внесок.
Можна прочитати безліч інструкцій та переглянути сотні відео, але що може бути краще, ніж спробувати зробити внесок не боючись нічого зламати? Ціль цього проєкту - надати можливість новачкам зробити їх перший внесок. Запам’ятайте: чим більше ви розслаблені, тим краще ви вчитеся. Якщо ви хочете зробити свій перший внесок, просто виконуйсте прості кроки нижче. Ми обіцяємо, що це буде весело!
Якщо ви ще не встановили GIT, тоді зробіть це негайно :)
Відгалужте свою власну копію цього репозиторія, натиснувши кнопку fork
зверху цієї сторінки.
Таким чином, ви створите копію цього репозиторія у вашому акаунті.
Тепер клонуйте цей репозиторій на ваш комп’ютер. Натисніть на кнопку clone
, а потім - на іконку copy to clipboard
.
Відкрийте термінал і виконайте наступні команди:
git clone "посилання, яке ви щойно скопіювали"
де посилання, яке ви щойно скопіювали
(без кавичок) - адреса цього репозиторію. Дивіться попередній крок для того, щоб отримати цю адресу.
Наприклад:
git clone https://github.com/this-is-you/first-contributions.git
де this-is-you
- ваш GitHub нікнейм. Таким чином, ви копіюєте вміст репозиторію з GitHub, в який збираєтесь зробити внесок, на ваш комп’ютер.
Перейдіть в директорію з репозиторієм на вашому комп’ютері (якщо ви ще цього не зробили):
cd first-contributions
Тепер створюємо гілку за допомогою команди git checkout
:
git checkout -b <add-your-name>
Наприклад:
git checkout -b add-petro-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>
своїм іменем.
Відправте зміни на віддалений репозиторій в GitHub за допомогою команди git push
:
git push origin <add-your-name>
замініть <add-your-name>
назвою гілки, яку ви створили раніше.
Коли ви перейдете до свого репозиторія в GitHub, ви побачите кнопку Compare & pull request
. Сміливо натисніть на неї.
Тепер зміни відправлені на перевірку і затвердження.
Скоро я об’єднаю ваші запропоновані зміни з основною гілкою цього репозиторія. Ви отримаєте листа, коли це буде зроблено.
Основна гілка вашого репозиторія не буде змінена. Якщо ви хочете синхронізувати ваше відгалуження з моїм репозиторієм, слідуйте цієї інструкції.
Спочатку перейдіть на основну гілку.
git checkout master
Потім додайте мій репозиторій як upstream remote url
:
git remote add upstream https://github.com/Roshanjossey/first-contributions
Таким чином ми повідомляємо git про те, що інша версія цього проєкту існує за визначеною адресою і ми називаєм це upstream
. Як тільки зміни будуть об’єднані, заберіть нову версію мого репозиторію:
git fetch upstream
Тобто ви забираєте всі зміни з мого репозиторію. Тепер ви повинні об’єднати зміни, які прийшли з мого репозиторію, в вашу основну гілку.
git rebase upstream/master
Цим ви приймаєте всі зміни до основної гілки. Якщо ви відправите зміни до GitHub, ваше відгалуження також буде містити ці зміни:
git push origin master
Зауважте, що ви відправляєте зміни до віддаленого репозиторія, який був названий 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 |
Ви можете приєднатися до нашої команди в Slack, якщо ви потребуєте будь-якої допомоги або маєте якісь запитання. Приєднатися до команди в Slack