Как коммитить в open source. Пошаговый гайд
Инструкция написана для сервиса github. Вам нужно войти в свой аккаунт или зарегистрироваться.
Все команды вводятся в терминале.
Шаг 1
Делаем fork
(копию) нужного проекта. Переходим в свой аккаунт и заходим в только что созданный fork
.
Делаем fork нужного проекта
Наш сделанный fork в нашем github аккаунте
Шаг 2
Клонируем 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 switch -c 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 в оригинальном репозитории
либо в нашем 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