Pull to refresh

Как коммитить в open source. Пошаговый гайд

Level of difficultyEasy
Reading time2 min
Views8.7K

Инструкция написана для сервиса github. Вам нужно войти в свой аккаунт или зарегистрироваться.

Все команды вводятся в терминале.

Шаг 1

Делаем fork (копию) нужного проекта. Переходим в свой аккаунт и заходим в только что созданный fork.

Делаем fork нужного проекта
Делаем fork нужного проекта
Наш сделанный fork в нашем github аккаунте
Наш сделанный fork в нашем github аккаунте

Шаг 2

Клонируем fork (копию) проекта из предыдущего шага на свой компьютер. Например, через SSH

Копируем адрес fork репозитория через ssh
Копируем адрес fork репозитория через ssh

git clone git@github.com:maxdzyubak/vite.git

Шаг 3

Настраиваем конфиг git локально (local). Нужно повторять для каждого проекта

git config --local user.name maxdzyubak

git config --local user.email maxdzyubak@gmail.com

Или глобально (global). Настроить один раз для всех проектов

git config --global user.name maxdzyubak

git config --global user.email maxdzyubak@gmail.com

Шаг 4

Делаем указатель на оригинальный репозиторий upstream откуда мы делали fork (копию). Он нужен для того, чтобы скачивать последние обновления кода из оригинального репозитория. (Проверка upstream: git remote -v)

git remote add upstream https://github.com/vitejs/vite.git

Шаг 5

Создаём новую ветку и сразу переходим в неё. Все изменения производим в ней. Это считается хорошей практикой

git checkout -b new_branch

Шаг 6

Проверить статус сделанных изменений можно командой

git status

Шаг 7

Добавляем изменения в отслеживаемые (staged). Git начинает следить за изменениями в этом файле/файлах

git add README.md

Шаг 8

Делаем коммит (commit) с изменениями. Если есть номер issue, то лучше всего в коммите написать так: [#123] fix bug. Если просто указать решётку без скобок, то при git rebase он её проигнорирует

git commit -m 'Update README.md'

Шаг 9

Проверить сделанный коммит

git log

Шаг 10

Пушим, сделанные изменения во внешний мир, так как пока они находятся только у нас локально на компьютере, c указанием созданной ветки

git push origin new_branch

Шаг 11

Создаём пулл реквест (pull request) нажатием на кнопку с названием Compare & pull request либо в оригинальном репозитории из которого делали fork

Pull request в оригинальном репозитории
Pull request в оригинальном репозитории

либо в нашем github аккаунте, в сделанном fork 

Pull request в нашем аккаунте github, в сделанном fork
Pull request в нашем аккаунте github, в сделанном fork

Оффициальная документация

git-clone - Clone a repository into a new directory
Customizing Git - Git Configuration
git-remote - Manage set of tracked repositories
Git Branching - Basic Branching and Merging
git-status - Show the working tree status
git-add - Add file contents to the index
git-commit - Record changes to the repository
git-log - Show commit logs
git-push - Update remote refs along with associated objects
git-request-pull - Generates a summary of pending changes

Tags:
Hubs:
Total votes 35: ↑29 and ↓6+32
Comments23

Articles