github tutorial developers how use github
Цей підручник з GitHub пояснює, що таке GitHub і як створити репозиторій, запит на розгалуження та витягування. Він включає правила захисту філій та вирішення конфліктів:
Що таке GitHub?
GitHub - це хмарний сервіс, який допомагає розробникам зберігати та керувати своїм вихідним кодом, а також відстежувати та контролювати всі зміни у вихідному коді.
Простіше кажучи, GitHub призначений для розробників, де вони можуть керувати проектом, розміщувати вихідний код і також їх переглядати. Ми вивчимо все це в цій серії.
Список підручників у цій серії GitHub:
Підручник No1: Підручник для розробників GitHub | Як користуватися GitHub (Цей підручник)
Підручник No2: Проекти GitHub, Teams, Fork & Wiki для документування проектів
Підручник No3: Розширені команди Git та підручник з інтеграції GitHub
Підручник No4: GitHub REST API Підручник - Підтримка API REST в GitHub
Підручник No5: Підручник з робочого столу GitHub - Співпрацюйте з GitHub зі свого робочого столу
Підручник No6: Підручник з TortoiseGit - Як використовувати TortoiseGit для контролю версій
Що ви дізнаєтесь:
Що таке Git?
Git - це система управління версіями з відкритим кодом, де весь вихідний код доступний на машині розробника. Git також є системою управління клієнтами та розподіленими версіями (DVCS), де ви можете робити розгалуження та об'єднання.
Початок роботи з GitHub
Для початку роботи з GitHub ми виконаємо наступні кроки.
- Створіть сховище для організації проектів.
- Створити гілку
- Внесіть зміни у файл та зафіксуйте.
- Створіть запит на витяг для об’єднання вмісту.
- Захист гілки
У другій частині серії ми також розглянемо інші особливості GitHub, такі як Створення організації, команд, випусків, етапів, вилок, випусків та вікі.
Створіть сховище GitHub
Репозиторій GitHub містить такі артефакти проекту, як вихідний код, документи, зображення тощо. Ми створимо та використаємо демонстраційне сховище для виконання всіх вищезазначених кроків.
Увійдіть на Github.com та Створіть нове сховище . Клацніть на Новий кнопку.
Додайте наведені нижче деталі репо, як показано, і натисніть на Створити сховище . Встановіть доступ до приватного або загальнодоступного. Краще встановити його для загальнодоступного, оскільки від цього доступу залежить мало функцій.
Примітка: Користувач, який створює сховище, є власником сховища GitHub.
Репозиторій створюється за допомогою файлу README.
Додавання співавторів до сховища GitHub
Ми хотіли б, щоб команда працювала над цим сховищем. Для цього нам доведеться запросити співавторів попрацювати над сховищем. Щоб додати співавторів, перейдіть на головну сторінку сховища та натисніть на Налаштування значок.
Натисніть на Співробітники на лівій панелі та додайте співавторів, які мають обліковий запис Github. Буде надіслано запрошення, і співавтори повинні будуть прийняти його.
Співробітники додаються, як показано нижче. Пізніше, у цьому навчальному посібнику, ми побачимо, як співавтори будуть додані як рецензент запиту на витяг, створений для об’єднання коду.
Виконання Basic C оміт
Відкрийте файл README і виконайте базовий коміт. Клацніть на Піктограма редагування щоб розпочати модифікацію файлу.
Змініть файл, додайте коментар і натисніть на Здійснити .
Файл зафіксовано (зміни збережено) до сховища Github.
Буде видно декілька операцій зі створення папки та файлів у сховищі.
Щоб створити папку та файл у межах: Клацніть на Створити новий файл на рівні сховища. Введіть ім'я каталогу, а потім / і ім'я файлу, як показано нижче.
Натисніть на Здійснити на дні. Папка та файл створюються, як показано. Таким чином, файли та папки створюються на майстер гілка, яка є основною гілкою інтеграції, і в основному там, де можна створювати випуски програмного забезпечення.
Зазвичай розробники працюють над дорученим їм завданням в окремій гілці та об’єднують зміни з головною гілкою. Наприклад, гілки можуть бути створені для розробки функцій, усунення помилок, роботи над удосконаленнями тощо. Таким чином, створюючи гілку, робота ізолюється, не заважаючи іншим гілкам.
На наступному кроці ми можемо поглянути на те, як можна створити гілки та визначити запити на витяг для перегляду та об'єднання коду в головну гілку.
Переміщення файлу
Щоб перемістити файл в іншу папку, виконайте такі дії. Наприклад, перемістити файл rules.txt до папки doc. Клацніть на файл.
Клацніть на піктограму, щоб відредагувати файл.
Додайте шлях doc / перед файлом rules.txt . Натисніть на Фіксувати зміни.
Шлях тепер оновлений.
Створення гілки GitHub
Перейдіть на головну сторінку сховища та введіть, щоб створити файл особливість гілка, як показано. Натисніть на Створити гілку.
Ми зараз у особливість відділення. Файли однакові. Тепер ми внесемо деякі зміни у файли в особливість і створіть запит на витяг для перегляду змін та об'єднання коду в майстер відділення.
Внесіть зміни до файлів у гілці функцій.
Відкрийте файл Java у папці Src та додайте трохи коду та зафіксуйте зміни.
Створіть запит на витяг GitHub
У попередньому розділі ми створили гілку особливість та внесли деякі зміни у файл. Зміни не в майстер відділення. Для цього нам потрібно створити запит на витяг, за допомогою якого користувач пропонує певні зміни, які слід переглянути та об’єднати в майстер відділення.
Створення запиту на витягування покаже різницю між вихідною та цільовою гілками та вимагатиме вирішення конфліктів, якщо такі є.
Натисніть на Запит на порівняння та витягування на головній сторінці сховища.
Ви бачите, що зміни в обох гілках можна об’єднати. Натисніть на Створити запит на витягування.
Натисніть на Об’єднати запит на витяг і Підтвердьте щоб завершити злиття.
Зміни успішно об'єднані в майстер відділення. Наш перший запит на витяг успішно виконаний.
Призначте рецензентів із запитами на витягування та переглядом коду
Github має гарну особливість використання файлу CODEOWNERS, де ми можемо вибрати людей, відповідальних за вихідний код у сховищі. Власники сховища можуть створити цей файл, і будь-які користувачі, визначені у файлі, за замовчуванням вимагаються для перевірки під час створення запиту на витягування.
Щоб використовувати цю функцію, ви повинні використовувати версію GitHub Pro або зробити сховище загальнодоступним.
У кореневій частині сховища створіть цей файл у наступному форматі та зафіксуйте файл.
* @username або @orgname або @teamname
* в першу чергу означає всі файли в репо. Ви також можете вказати конкретні розширення, такі як * .java або * .js тощо. Користувачам, визначеним у файлі, буде автоматично надіслано запит на перевірку. З визначеним файлом CODEOWNERS немає необхідності явно додавати рецензентів вручну і має трохи більшу гнучкість у виборі файлів, які потрібно переглянути.
Назад у особливість Внесіть невелику зміну у файл Java і створіть запит на витягування. На екрані 'Запит на витяг' призначте рецензента праворуч. Натисніть на Створити запит на витягування.
На наведеному вище екрані ви можете бачити, що рецензенти можуть бути призначені вручну, але рецензенти визначаються у файлі CODEOWNERS, які автоматично отримуватимуть запит на перегляд змін коду.
У будь-якому разі, поки що, давайте логін як рецензент та схвалити зміни. Увійдіть як користувач vniranjan2512, щоб затвердити зміни.
Існує запит на схвалення / відхилення змін під Запит на витягування.
Клацніть на Запит на витяг і Додайте свій відгук.
Ви можете натиснути на + підпишіть та додайте коментарі до огляду для рядка коду Додано / Змінено / Видалено на екрані, що з’явиться.
Натисніть на Почніть огляд.
Натисніть на Завершіть свій огляд. Затвердити, як показано та Подати відгук .
Як початковий користувач, який підняв запит на витягування, ви можете додати коментар та вирішити або закрити розмову.
Тепер можна виконати запит на злиття.
Зміни успішно об'єднані в майстер відділення розміщує огляд та об’єднує запит на витяг.
Отже, підсумовуючи на цьому етапі, ми побачили, що розробники працюють над особливість , а потім підніміть запит на витяг, щоб об'єднати зміни в майстер відділення. Вище було сценарієм, коли конфліктів не було. У наступному розділі ми побачимо способи вирішення конфліктів вручну, якщо файли змінюються в декількох гілках.
Вирішення конфліктів
Можливо, однакові файли в декількох гілках будуть змінені. У цьому випадку можуть виникнути конфлікти, і їх потрібно вирішити за допомогою піднятого запиту на витягування.
Наприклад, внести зміни до файлу Java в обох файлах майстер і особливість гілки та підняти запит на тягу.
Показане повідомлення із запитом на витягування означає, що зміни не можуть бути автоматично об’єднані. Отже, конфлікти мають бути вирішені. Приступайте до створення запиту на витягування.
Після підняття запиту на витяг конфлікти потрібно буде вирішити, натиснувши на Вирішувати конфлікти кнопку.
Видаліть маркування, яке по суті вирішує конфлікти вручну, і натисніть на Позначити як вирішене і Здійснити злиття.
Остаточний вигляд файлу після розмітки видаляється.
Запит на злиття може бути виконаний. майстер і особливість гілки тепер будуть ідентичними.
Ви все ще можете побачити на наведеному вище екрані, що перевірка вимагається, але не є обов’язковою. У наступному розділі ми побачимо правила захисту філій, за яких власник сховища обов'язково може вимагати перевірки, а також захищати майстер гілка від комітування безпосередньо до нього, але лише через запит на витягування.
Правила захисту філій
У попередніх розділах ми бачили про запити на витяг Github, а також прохання про перевірки, які не були обов'язковими або необов'язковими. У типовому коді сценаріїв проекту огляди є обов’язковою складовою процесу розробки.
Давайте подивимось, як це забезпечити.
У github.com цю функцію можна встановити лише для загальнодоступних сховищ або за допомогою версії Github pro. На головній сторінці сховища перейдіть до Налаштування і натисніть на Філії категорія зліва.
Натисніть на Додати правило під Правила захисту філій. Правило додало запити на обов’язкові перевірки запитів на витягування від власників коду перед об’єднанням для майстер відділення.
Це також забезпечить, що головна гілка захищений, і ніяких прямих комітів на цій гілці робити не можна, а здійснити їх можна лише через Запити на витяг після ретельного розгляду. Цей параметр встановлюється власником сховища.
Дійсна особливість !!!
Натисніть на Створити колись зроблено. Щоб перевірити цей сценарій, внесіть зміни до файлу в особливість і створіть запит на витягування.
На наступному екрані показано, що перевірка обов’язково вимагається власниками коду.
Опублікуйте відгук від власників коду, запит на витяг можна об’єднати.
Як співавтор репозиторію, якщо ви внесете зміни до будь-якого з файлів, завдяки створеним правилам захищених гілок, ви не зможете здійснити фіксацію безпосередньо в головній гілці, а лише через запит на витяг після створення гілки, як показано нижче.
Передача сховища до іншого облікового запису користувача
Зазвичай особисте сховище користувачів має одного власника, а всі інші є співавторами. Отже, у тому сенсі, що ви не можете мати декількох власників у сховищі облікових записів користувачів. Але право власності можна передати на інший обліковий запис користувача. Після закінчення вихідний власник сховища автоматично стає співавторами у новому сховищі облікових записів користувачів.
Потім новий власник може розпочати адміністрування артефакту, проблем, запитів на витягування, проектів, випусків та налаштувань.
Зазвичай, коли такі команди, як «git clone» або «git push» виконуються в локальному сховищі, команди переспрямовують на нове сховище. Але під час запуску команди ‘git remote -v’ вона все одно відображатиме вихідну URL-адресу сховища. Щоб уникнути плутанини, перейдіть до нової віддаленої URL-адреси, передайте сховище за допомогою команди ‘git remote set-url’.
Щоб перенести сховище, перейдіть на вкладку Налаштування сховища та в розділі Параметри? Клацніть на зоні небезпеки Передача
Введіть ім'я сховища та новий обліковий запис користувача, якому потрібно передати право власності.
Клацніть на Я розумію, перенесіть це сховище
Ви повинні побачити повідомлення про те, що сховище передано новому власнику.
Листу буде надіслано початковий власник сховища для схвалення передачі. Після схвалення передачі сховище буде передано новому власнику, а початковий власник сховища буде доданий як співавтор.
Тепер встановіть нову URL-адресу сховища на машині, де було клоновано старе сховище. Наступні команди повинні бути встановлені на всіх машинах, де було клоновано старе сховище.
Усі запити на витягування, випуски та wiki будуть передані. Призначення видачі залишатимуться цілими.
Деякі корисні команди Git
Існує декілька основних команд Git, які слід спочатку налаштувати на локальній машині після встановлення клієнта Git на машині Linux або Windows. Розробники працюють локально, без підключення до сховища на GitHub, над повною копією вихідного коду, доступного на GitHub, і синхронізують з ним.
По-перше, встановіть своє ім’я користувача та електронну адресу, щоб усі зобов’язання використовували цю інформацію.
git config –global user.name “UserName”
git config –global user.email “myemail@myemail.com”
Коли вам потрібно додати повідомлення під час комітів, ви також можете налаштувати редактор, необхідний для того самого.
найкращі шпигунські програми для телефонів Android
git config –global core.editor блокнот
Отримайте список усіх встановлених значень конфігурації.
git config –list
Іноді організації мають проксі-сервери для підключення до Інтернету. У цьому випадку вам потрібно буде вказати проксі-сервер та номер порту, щоб отримати доступ до всіх сховищ на GitHub.
git config –global http.proxyhttp: // Ім'я користувача: Пароль @ proxyserver: порт
Клонуйте або створіть локальну копію сховища. Отримайте URL-адресу клону сховища в GitHub і запустіть команду git.
Висновок
У цьому посібнику ми побачили, як розробник може почати працювати на GitHub, безпосередньо від Створення сховища GitHub, Відгалуження, Запиту на витягування, Захисту гілки та деяких основних команд Git.
У нашому майбутньому навчальному посібнику ми побачимо інші особливості GitHub, головним чином про те, як створювати організації, команди, розгалужувати сховище, створювати проблеми, етапи та зв’язувати запити на витягування, wiki та їх використання та кілька інших вдосконалених команд Git, які будуть корисними розробникам.
Рекомендована література
- Підручник з роздумів про Java з прикладами
- Git проти GitHub: Вивчіть відмінності на прикладах
- Підручник з Python DateTime із прикладами
- Інтеграція селену з GitHub за допомогою Eclipse
- Короткий посібник SoapUI для зберігання даних запитів та відповідей у файлі - Підручник SoapUI # 15
- Підручник з Bugzilla: Посібник із інструментів управління дефектами
- 20+ підручників MongoDB для початківців: Безкоштовний курс MongoDB
- MongoDB Підручник з шардування з прикладом