Чтобы исправить инструкцию или код в проекте на GitHub, не обязательно иметь право записи в его репозиторий. Можно сделать свою связанную копию, подготовить изменение и предложить его автору через Pull Request.
Разберём путь от выбора полезной правки до ответа на ревью. Понадобятся аккаунт GitHub, браузер и проект, который допускает такой способ участия. Для правки текстового файла Git и терминал не обязательны.
Порядок сверён с документацией 3 октября 2026 года. Fork, коммиты, PR и merge в аккаунте при подготовке не создавались.
Четыре понятия, которые определяют направление правки
Fork — копия репозитория в вашем аккаунте, связанная с исходным проектом. Исходник называют upstream. Изменения вашего fork не попадают в него сами.
Ветка хранит отдельную линию изменений. Pull Request, или PR, предлагает включить изменения одной ветки в другую. Его направление задают два поля:
| Поле | Смысл |
| Base | Репозиторий и ветка, куда предлагается включить правку |
| Head, или compare | Репозиторий и ветка, откуда берутся изменения |
Для реального вклада base обычно принадлежит автору проекта, а head — вашему fork. Для тренировки внутри своей копии обе стороны должны принадлежать вам. Создание fork.
Fork отличается от скачивания ZIP: архив даёт файлы, а связанную копию используют для работы с историей и предложений исходному проекту. Шаблон репозитория, в свою очередь, предназначен для начала независимого проекта.
Найдите конкретное изменение до создания PR
Прочитайте README, CONTRIBUTING.md и подходящие открытые задачи. Уточните, принимает ли проект внешние PR, какие проверки нужны и требуется ли сначала обсудить изменение.
Начать удобно с небольшого полезного исправления: неверная ссылка, пропущенный шаг, уточнение инструкции. Для большого изменения интерфейса сначала обсудите подход. Так вы не потратите время на работу, которую автор не планирует принимать.
Если хотите только освоить интерфейс, GitHub предлагает octocat/Spoon-Knife. Учебную правку можно проверить PR внутри собственного fork, не отправляя обращение автору исходного проекта. Это отдельная возможность для практики, а не обязательная часть каждого вклада.
Создайте fork и рабочую ветку
На странице исходного репозитория нажмите Fork. В форме проверьте Owner, имя будущей копии и выбор веток. Для небольшой правки обычно достаточно основной ветки. Затем нажмите Create fork.
Если копия уже есть, сначала откройте её и посмотрите состояние. До новой работы при необходимости получите изменения из upstream через доступный Sync fork; при конфликтах разберите их, не выбирайте замену содержимого наугад.
В своём fork выберите основную ветку и создайте через селектор веток новую, например fix-readme-link. Проверьте владельца репозитория и выбранную ветку. Это защищает от случайного продолжения другой задачи.
Откройте нужный файл, нажмите редактирование и внесите одну понятную правку. Перед Commit changes прочитайте сравнение версий. Сохраните изменение в рабочую ветку с сообщением, объясняющим результат.
Для исправленной ссылки проверьте не только её написание, но и открытие указанного файла. Для кода выполните предусмотренные проектом проверки в подходящей среде: сохранённый коммит не доказывает, что программа работает.
Создайте PR и проверьте обе стороны сравнения
Откройте Pull requests → New pull request. Если нужно сравнить разные копии, используйте compare across forks.
Для настоящего вклада выберите исходный репозиторий и согласованную ветку в base, свой fork и fix-readme-link в head. Для тренировки в собственной копии переключите base repository на свой fork: GitHub может предложить upstream по умолчанию.
Прежде чем отправлять, прочитайте направление в заголовке сравнения и весь diff. В нём должны быть только относящиеся к задаче изменения. Если разницы нет, проверьте, где сделан коммит. Если появилась чужая большая правка, разберите состояние веток до создания PR.
Нажмите Create pull request. Объясните конкретную проблему, что изменено и чем подтверждается результат. Например:
В README ссылка на пример вела к отсутствующему notes.md.
Исправлен путь на существующий docs/meeting-notes.md.
Проверка: ссылка открывает нужный документ; другие ссылки не изменены.Последнюю строку пишите только после фактической проверки. Если запуск тестов не выполнялся, прямо укажите это. Если работа ещё не готова к ревью, используйте доступный формат чернового PR.
Официальный процесс Pull Request разделяет подготовку изменения, обсуждение и слияние. Создание PR — предложение автору, а не обещание принятия.
Как пройти ревью
В Files changed рецензент читает разницу и задаёт вопросы. Чтобы исправить замечание, внесите новый коммит в ту же рабочую ветку: сравнение открытого PR обновится. Второй PR для той же правки обычно не требуется.
Ответьте, что изменилось и как проверено. Если замечание непонятно, уточните ожидаемый результат до очередной правки. Изменение кода проверки тоже требует внимания: зелёный значок может скрывать ослабление самого теста.
Автор не может формально одобрить собственный PR как независимый рецензент. Самостоятельный комментарий с результатом проверки полезен, но не заменяет требуемое командой ревью.
Что означает merge и что проверить после него
Merge включает изменение в целевую ветку. Выполнять его может участник с нужными правами после обязательных проверок и согласований. В чужом проекте решение остаётся за сопровождающими.
После принятия откройте файл в целевой ветке и убедитесь, что нужная правка там есть. Если изменение относится к программе или сайту, появление у пользователей зависит от отдельного выпуска. Если PR закрыли без merge, прочитайте причину: ваше изменение осталось в fork и рабочей ветке.
Полезные сценарии
Исправить ошибку документации. Есть неверная ссылка и существующий правильный файл. Проверьте правила вклада, сделайте маленький коммит в fork и предложите PR с подтверждением открытия ссылки. Автор получит легко проверяемую правку. Если файл доступен только в другой версии, сначала уточните целевую ветку.
Предложить улучшение после обсуждения. В issue согласована конкретная задача. Подготовьте изменение в отдельной ветке, приложите ссылку на issue и результаты проверок. Получится связанное предложение с понятной целью. Согласие на идею ещё не отменяет ревью реализации.
Освоить направление PR в своей копии. У вас есть fork официального примера. Добавьте небольшую строку в отдельной ветке и создайте PR в основную ветку того же fork. Проверьте обе стороны и diff; при желании завершите цикл merge в своей копии. Upstream не должен получать учебную публикацию.
Частые затруднения
| Ситуация | Что проверить |
| Между ветками нет различий | Где находится коммит, base и head |
| В PR лишние файлы | Состав ветки и исходную точку задачи |
| Слияние заблокировано | Обязательные проверки, ревью и правила ветки |
| Появился конфликт | Какие строки изменились в обеих ветках и что должно сохраниться |
| Предложена не та целевая копия | Владельца и имя в base repository до отправки |
Не обходите правила force push или отключением проверок. Для первого вклада достаточно одной полезной правки, понятного направления и честного подтверждения результата.
Следующий шаг
Если первый вклад касается документации, проверьте структуру и ссылки по руководству README и Markdown на GitHub: как читать описание проекта и оформить своё.
Если вы готовите первый вклад в чужой проект, выберите небольшую правку, которую автор сможет проверить по вашему описанию.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov.

