Це важко. Це завжди важко - робити щось вперше. Проте якщо ви працюєте над проєктом з кимось, помилки будуть вдвічі неприємнішими. Але 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