Створення Pull Request в Git

13 0 Новини високих технологій

Git — система контролю версій, інструмент спільної розробки програмного продукту. Будь-яка командна розробка програмного забезпечення потребує зручному інструмент для відстеження виконаної роботи та внесених змін, фіксації відповідальних за корекцію, створення можливості узгодження напрацювань або відкату у разі помилок. Git незамінна, тому що:

  • Зберігає історію розробки.
  • Контролює права доступу до спільного коду.
  • Забезпечує контроль версій програмного продукту.
  • Створення Pull Request в Git
    Git розроблена Лінусом Торвальдсом з метою спростити створення ядра Linux. Існує кілька способів управління проектом через Git: можна використовувати веб-сервіси, такі як GitHub, або завантажити графічний Git-клієнт. Існує кілька безкоштовних клієнтів для будь-яких операційних систем, наприклад, SmartGit. Так як ядро Git — це пакет програм для командного рядка, їм також зручно користуватися безпосередньо з цієї локації. Функціонал буде однаковий як у роботі з веб-сервісом, так і в графічному клієнта. Новачкам рекомендується заглиблюватися у вивчення консольної версії - так набагато швидше прийде розуміння команд і внутрішньої структури.


    Створення Pull Request в Git
    Далі ми докладно розберемо одну з команд Git - Pull Request. Pull request — це пропозиція щодо зміни репозиторію. Даний механізм використовується в загальній роботі над програмними продуктами. Дозволяє скоординувати діяльність розробників і уникнути плутанини. Будь-який, хто захоче змінити або доопрацювати існуючий проект, повинен зробити наступні кроки.

    Git: як зробити pull request

  • Команда Fork — створити локальну копію робочого репозиторію.
  • Доопрацювати або змінити свою копію.
  • Команда Pull request — запропонувати зміни в коді власнику репозиторію.
  • Команда Merge — за допомогою неї власник репозиторію схвалює зміни.
  • В системі Git pull request можливо створити двома способами. Перший - через консоль, другий - використовуючи можливості веб-сервісу, на якому розташований ваш репозиторій.
  • Pull Request - це "фіча" виключно Git-клієнта GitHub, яка спирається на консольну команду request pull. Якщо необхідно зробити pull request через консоль, необхідно web API додаток, наприклад hub. Робити pull request для GitHub з десктопного програми можна, якщо воно підтримує GitHub API.


    Веб-сервіс Git: create pull request

    Щоб запропонувати власнику репозиторію зміни в проекті, необхідно:
  • Зайти в гілку, що містить вихідний файл.
  • Натиснути New pull request.
  • Якщо зміни були зроблені — відкриється вікно Comparing changes.
  • В ньому можна уточнити шлях, з якої гілки якого репозиторію і куди необхідно відправляти зміни.
  • Натиснути Create pull request.
  • Бажано уточнити в відповідних полях, які зміни були зроблені.
  • Тепер власник репозиторію побачить у вкладці Pull requests повідомлення про зміни.
  • Власник у свою чергу може виконати в репозиторії Git "merge pull request". Це внесе зміни, запропоновані розробником з основною гілкою проекту.
    Створення Pull Request в Git
    Також досить зручно використання консольного клієнта Git. Pull Request робиться через веб-сервіс, якщо не встановлено GitHub API, нижче буде показано алгоритм внесення змін у віддалений репозиторій. Для внесення змін у віддалений репозиторій через консоль після корекції коду необхідно ввести наступні команди:
  • Команда git add NewFile.cxx — додаємо новий файл в локальний репозиторій.
  • Команда git commit -a -m commit message - створюємо комміт, в commit message уточнюємо зміни в проекті.
  • Команда git push origin — внесення змін у віддалений репозиторій (необхідно підтвердити свої логін і пароль).
  • Далі необхідно також скористатися веб-версією Git, на якій зберігається ваш віддалений репозиторій, і створити pull request, використовуючи вище керівництво.
  • Merge

    В Git Merge pull request - це команда злиття гілки розробки feature з основною віткою (master). Існує два патерну злиття:
  • Справжнє злиття. Відбувається, коли необхідно внести декілька змін в основну гілку розробки. Тобто в гілці master створюється новий комміт, який посилається на кілька таких же атрибутів з feature.
  • Перемотування. Якщо історія комітів вийшла без розгалужень, то покажчик master перемотується вперед, і встановлюється на той, на який вказувала гілка feature.
  • Створення Pull Request в Git

    Робота з Git

    При роботі з Git завжди важливо пам'ятати, що є два репозиторію - локальний і віддалений. Локальний створюється на машині в розробника після команди clone, наприклад, якщо розробник хоче приєднатися до роботи над проектом. Тобто з системою контролю версій можна працювати і без інтернет-з'єднання, тільки команди pull і push зажадають зв'язку з віддаленим сховищем. Локально в Git "pull request" зробити, звичайно ж, неможливо. Операція Pull здійснює злиття, якщо історії віддалено і локально розрізняються. Операція Push відправляє всі зміни, що відсутні у віддаленому сховищі. Якщо у віддаленому сховищі виявляються нові коміти, то операція закінчиться невдачею. Тобто локально у розробника присутній гілка master, яка представляє з себе останнє редагування, і гілка origin/master — це стан віддаленого сховища після останньої операції Pull або Push.