Іноді, досліджуючи чужі репозиторії на github, помічаєш помилки, неточності або ж розумієш, що міг би додати що-небудь корисне, але, когось необхідність виконувати купу дій в командному рядку може відлякати, комусь вона в даний момент не доступна, і ми проходимо повз.
Багато досвідчених користувачів github-а знають, що аж ніяк не для всього обов'язково потрібно використовувати командний рядок. Все це так.
Тут я зібрав кілька рецептів, використовуючи які, ви зможете без єдиної команди git, скопіювати собі репозиторій, створити там допоміжну гілку, в ній щось відредагувати, додати/видалити файли/папки, зробити пулл-реквест в оригінальний репозитарій. А по закінченню якогось часу, коли в оригінальному репозиторії накопичаться зміни не відображені в нашій копії - синхронізувати ці два репозитарії - причому теж без єдиної git-команди.
Думаю зі створенням форка (копіюванням репозитарію до себе) - всі легко впораються, тому відразу йдемо далі.
Створення гілки
Вважається ознакою хорошого тону, якщо ви оформите свої правки в окремій гілці, адже господар оригінального репозитарію може попросити вас щось поміняти/доопрацювати перед злиттям.
Створити нову гілку (копіювання з поточної) можна прямо в віконці зміни гілки. Введемо ім'я - enter - готове.
Додавання файлів
Створення нових файлів тут же - далеко ходити не потрібно. Тиснемо "" + "
І відразу переходимо в режим редагування новоствореного файла:
Тут ви можете редагувати як сам файл, так і його назву. У редагуванні назви є одна цікава особливість - використовуючи «/» і «../» можна переміщатися по дереву каталогів. (у підсумку під час створення файла будуть створені не існуючі до цього теки)
Синхронізація форки з основним сховищем
Часто буває так, ми робимо форк репозитарію, правимо там щось, робимо pull-request. Автор приймає цей pull-request і ми заспокоюємося на деякий час. Через пару місяців, ми знову хочемо щось поліпшити, але наша копія вже безнадійно застаріла. Тут потрібна синхронізація. Можна легко знайти, як це зробити за допомогою командного рядка. Набагато рідше зустрічається пояснення того, як це зробити безпосередньо на github.
Отже:
- відкриваємо свій форк на github
- заходимо з список його pull-request-ів
- тиснемо «New Pull Request», за замовчуванням github бере за базу оригінальний репозиторій і порівнює наш з ним, але нам потрібно навпаки
- тиснемо «switching the base», (якщо ми щось редагували у своїй копії, потрібно натиснути Edit, і вручну поміняти базу) - відразу ж побачимо все, що в оригінальному репозиторії було додано останнім часом
- тиснемо «Створити Pull-request», даємо йому якесь зрозуміле ім'я, типу «Update from original»
- тиснемо «Send pull request»
- тиснемо «Merge pull request» і підтверджуємо цю дію - все
Стільки пунктів, скажіть ви - згоден, у вигляді списку виглядає громіздко, спробуйте відео - всього 53 секунди. Я сам, спробувавши всього раз, відразу ж запам'ятав і став використовувати.
P.S.
Я не став тут описувати очевидні речі: як зробити форк, як зробити pull-request - так як вони робляться в 1 клік.
А що ще з неочевидного можна робити з ріпами без використанні командного рядка?



