Перейти до основного вмісту

Pull Request на GitHub

Ця інструкція показує, як зробити pull request у приватному репозиторії GitHub у цільову гілку dev. Наведено два сценарії: коли у тебе є права write (можна пушити напряму) і коли є лише read (потрібен fork).

1. Підготовка — клонування репозиторію

Якщо ще не клоновано репозиторій на локальну машину:

git clone git@github.com:OWNER/REPO.git
cd REPO

2. Перевірити і оновити гілку dev

Переконайся, що працюєш від актуальної бази:

git checkout dev
git pull origin dev

3. Створити нову гілку для змін

Назви гілку зрозуміло (наприклад feature/add-search або bugfix/login-fix):

git checkout -b my-feature-branch

4. Внести зміни і закомітити

# Редагуєш файли в редакторі...
git add .
git commit -m "Опис змін: додано ... / виправлено ..."

5. Сценарій A — У тебе є права запису (write access)

Якщо власник репозиторію дав тобі права write, ти можеш пушити прямо в оригінальний репозиторій:

git push origin my-feature-branch

Потім на GitHub:

  • Відкрий репозиторій → вкладка Pull requestsNew pull request.
  • В полі base вибери dev, а в полі compare — твою гілку my-feature-branch.
  • Напиши заголовок і докладний опис, потім натисни Create pull request.

6. Сценарій B — У тебе лише доступ для читання (fork)

Якщо ти не можеш пушити в оригінальний репозиторій, зроби форк і працюй через нього:

# 1) На GitHub: натисни "Fork" у правому верхньому куті оригінального репозиторію.
# 2) Клонуй свій форк:
git clone git@github.com:YOUR-USERNAME/REPO.git
cd REPO

# 3) Додай оригінальний репозиторій як upstream (щоб отримувати оновлення)
git remote add upstream git@github.com:OWNER/REPO.git

# 4) Підтягни останню dev гілку з upstream (опціонально)
git fetch upstream
git checkout -b my-feature-branch upstream/dev

# 5) Внось зміни, коміти і пуш у свій форк
git add .
git commit -m "Опис змін"
git push origin my-feature-branch

Потім на сторінці твого форку з’явиться кнопка Compare & pull request. При створенні PR обери:

  • base repository — оригінальний репозиторій (OWNER/REPO)
  • base branchdev
  • compare — твоя гілка у форку

7. Опис PR і чек-лист

У полі опису PR додай:

  • Короткий опис змін.
  • Посилання на таск/issue (якщо є).
  • Інструкції для тестування (як запустити, де дивитися).
  • Які файли/компоненти важливо переглянути.

8. Після створення PR

  • Проходить код-рев’ю — можливо, отримаш коментарі; внось правки у ту ж гілку і пуш їх (або у форк) — вони автоматично додадуться до PR.
  • Якщо маєш права — мерджиш PR у dev. Якщо ні — чекай, поки це зробить той, хто має права.
Порада: Перед створенням PR завжди оновлюй локальну dev та при потребі ребейз або мержуй її у свою гілку, щоб уникнути конфліктів:
git fetch origin
git checkout dev
git pull origin dev
git checkout my-feature-branch
git merge dev
# (або git rebase dev)

Коротка шпаргалка команд

# Клонувати репо
git clone git@github.com:OWNER/REPO.git

# Перейти на dev і оновити
git checkout dev
git pull origin dev

# Створити гілку
git checkout -b my-feature-branch

# Після змін
git add .
git commit -m "Опис змін"

# Пушити напряму (якщо є write)
git push origin my-feature-branch

# Якщо через форк: пуш у свій форк
git push origin my-feature-branch

# Оновити гілку перед мерджем
git fetch origin
git checkout dev
git pull origin dev
git checkout my-feature-branch
git merge dev

Коментарі

Популярні публікації

Шпаргалка по базових командах PostgreSQL

1. Підключення до PostgreSQL через командний рядок: psql -h <host> -p <port> -U <username> -d <database> 2. Підключення до бази без параметрів (якщо користувач і база мають однакове ім’я): psql 3. Показати список усіх баз даних: \l 4. Підключитися до іншої бази даних: \c <database_name> 5. Показати список таблиць у поточній базі: \dt 6. Показати всі об'єкти (таблиці, індекси, секвенції): \d 7. Показати таблиці з усіх схем: \dt *.* 8. Переглянути структуру конкретної таблиці: \d <table_name> 9. Виконати SQL-запит (приклад): SELECT * FROM users; 10. Вийти з psql: \q 11. Створити нову базу даних: CREATE DATABASE mydb; 12. Створити нову таблицю: CREATE TABLE users ( id SERIAL PRIMARY KEY, name TEXT NOT NULL, email TEXT UNIQUE ); 13. Додати новий запис: INSERT INTO users (name, email) VALUES ('Іван', 'ivan@example.com'); 14. Оновити дані в таблиці: UPDATE users SET name = 'Петро' WH...

Основи GLSL

Що таке GLSL? GLSL (OpenGL Shading Language) – мова програмування шейдерів для OpenGL. Використовується для написання vertex, fragment, geometry та інших шейдерів, що працюють на GPU. Оголошення версії #version 330 core Вказує версію GLSL. Наприклад, 330 core відповідає OpenGL 3.3. Вхідні та вихідні змінні layout(location=0) in vec3 aPos; layout(location=1) in vec3 aNormal; out vec3 FragPos; in – вхідні атрибути (vertex shader). out – вихідні змінні (vertex shader) або фінальний колір (fragment shader). Основні типи даних float, int, bool vec2, vec3, vec4 mat2, mat3, mat4 sampler2D (текстури) Тип Опис Приклади використання vec2 Двокомпонентний вектор з типом float. - Текстурні координати (UV) - 2D позиції - Швидкість у 2D vec3 Трикомпонентний вектор з типом float. - Координати позицій у 3D - Нормалі - Колір у форматі RGB vec4 Чотирикомпо...

Атоми в мові програмування Elixir

Атоми в Elixir Атоми є фундаментальною концепцією в Elixir , що відіграє ключову роль у створенні надійних та масштабованих систем. В Elixir це специфічний тип даних, який є константою , незмінною , ідентифікованою за своїм ім'ям . Отже, атом в Elixir — це іменована константа, що представляє себе. Уявіть, що ви даєте унікальне ім'я певній речі, і це ім'я завжди посилається саме на цю річ, і ніколи на щось інше. Наприклад, атом :ok завжди буде означати саме успішне завершення операції, а не якесь інше значення. Технічно, атоми є похідними від чисел . Кожен унікальний атом зберігається у таблиці атомів, і йому присвоюється унікальний цілочисельний ідентифікатор. Це робить їх надзвичайно ефективними для порівняння: замість порівняння рядків (що є повільною операцією), Elixir порівнює цілочисельні ідентифікатори. Переваги та особливості використання атомів Переваги атомів: Ефективність. Завдяки своєму числовому представленню, порівняння атомів є дуже швидким. Це осо...

Встановлення PostgreSQL на Ubuntu-сервер

Встановлення Оновлюємо пакети та встановлюємо PostgreSQL: sudo apt update sudo apt install -y postgresql postgresql-contrib Перевіряємо статус сервісу: sudo systemctl status postgresql Якщо PostgreSQL не запущений, запустимо його: sudo systemctl start postgresql sudo systemctl enable postgresql Налаштування безпеки Зміна пароля: sudo -u postgres psql У консолі PostgreSQL: ALTER USER postgres PASSWORD 'міцний_пароль'; \q \q - вихід з консолі. Список основних команд для роботи з PostgreSQL можна переглянути за посиланням. За замовчуванням PostgreSQL слухає localhost (127.0.0.1). Щоб дозволити доступ із зовнішніх машин, редагуємо конфігурацію: sudo nano /etc/postgresql/17/main/postgresql.conf (замість 17 вкажи версію PostgreSQL, яку встановлено) Шукаємо рядок: #listen_addresses = 'localhost' та замінюємо на listen_addresses = '*' Зберігаємо (Ctrl + X, Y, Enter). Тепер редагуємо pg_hba.conf: sudo nano /etc/postgresql/17/main/pg_hba.conf...

Прості типи даних в Elixir

Мова Elixir має низку простих (примітивних) типів даних, які часто використовуються в повсякденному програмуванні. Числа Elixir підтримує цілі (integer) та дійсні числа (float). # Цілі числа a = 42 b = -7 # Дійсні числа c = 3.14 d = -0.001 Булеві значення Elixir має два булевих значення: true та false . x = true y = false z = x and y # false Атоми Атоми — це константи з іменем, що починається з двокрапки. Вони широко використовуються, наприклад, для імен параметрів або станів. :ok :error :running :elixir_is_fun Рядки Рядки в Elixir — це двійкові дані з кодуванням UTF-8, оголошуються в подвійних лапках. name = "Pavlo" greeting = "Привіт, #{name}!" Nil Nil — це спеціальне значення, що позначає "відсутність значення". value = nil is_nil(value) # true Бінарні дані та байти Бінарні дані оголошуються в подвійних лапках або як бінарні літерали. string = "Привіт" # це рядок, але також бінарні дані binary = ...