Created
November 19, 2025 04:53
-
-
Save SumZbrod/18839b13f2aa2cd0e6a2ce3da1cddf1d to your computer and use it in GitHub Desktop.
Trunk-protokol
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| # GitHub CLI Workflow | |
| ## Подготовка | |
| - Установи [GitHub CLI](https://cli.github.com/) | |
| - Перед началом работы **создай Issue** или выбери существующее и узнай его номер. | |
| - После апрува PR свитчайся на свою ветку | |
| --- | |
| ## Начало работы | |
| ### Найти Issue | |
| ```bash | |
| gh issue list | |
| ``` | |
| ### Создать рабочую ветку | |
| ```bash | |
| git checkout main | |
| git pull | |
| git checkout -b feat/room-collision-2 | |
| ``` | |
| --- | |
| ## Завершение задачи | |
| ### Закоммитить изменения | |
| Перед любыми комитами проверяй изменения и то что ты находишься в фитчёвой ветке | |
| ```bash | |
| git status | |
| ``` | |
| если есть не нужные изменения то добавь только нужные | |
| ```bash | |
| git add path/* | |
| ``` | |
| Не нужные можно застешить | |
| ```bash | |
| git stash | |
| ``` | |
| После пушинга потом можешь запулить и очистить стеш | |
| ```bash | |
| git push | |
| git pull | |
| git stash list | |
| git stash clear <stash-id> | |
| ``` | |
| #### Если все изменения подходят | |
| ```bash | |
| git add -A | |
| git commit -m "feat(room): add collision shapes (Closes #2)" | |
| ``` | |
| _(номер Issue указываем свой)_ | |
| важно указать чтобы синхранизоваться | |
| ### Если забыл написать (Closes #2) | |
| ```bash | |
| # через эдитор | |
| git commit --amend | |
| #cli | |
| git commit --amend -m "feat(room): add collision shapes (Closes #2)" | |
| ### Если не нравится эдитор нано | |
| git config --global core.editor "micro" | |
| ``` | |
| --- | |
| ## Создание Draft PR | |
| ```bash | |
| git push -u origin feat/room-collision-12 | |
| gh pr create --base main --head feat/room-collision-12 --title "Add collision shapes to room" --body "Closes #12" --draft | |
| ``` | |
| - `--base main` → куда мёрджить (обычно trunk). | |
| - `--head feat/...` → твоя рабочая ветка. | |
| - `--title` → заголовок PR. | |
| - `--body` → описание. `Closes #12` автоматически закроет Issue. | |
| - `--draft` → PR откроется как **Draft**. Если хочешь чтобы я посмотрел но не мёрджил | |
| --- | |
| ## Перевод PR в Ready | |
| ```bash | |
| gh pr list | |
| gh pr ready <номер-или-url> | |
| ``` | |
| --- | |
| ## Работа с ревью | |
| ### Проверка PR | |
| ```bash | |
| gh pr list | |
| gh pr checkout <номер-PR> | |
| ``` | |
| ### Оставить ревью | |
| #### Запросить доработку | |
| ```bash | |
| gh pr review 7 --request-changes --body "Нужно вынести материалы в .tres" | |
| ``` | |
| #### Одобрить | |
| ```bash | |
| gh pr review 7 --approve --body "Всё ок" | |
| ``` | |
| #### Комментарий без решения | |
| ```bash | |
| gh pr review 7 --comment --body "Можно подумать о более читаемом названии переменной" | |
| ``` | |
| --- | |
| ## Типичные проблемы | |
| ### Изменения не в той ветке | |
| ```bash | |
| git branch # проверить текущие ветки | |
| git stash # сохранить изменения | |
| git checkout feat/room-collision-2 | |
| git stash pop # восстановить изменения | |
| ``` | |
| ### Коммит не в той ветке | |
| ```bash | |
| git log --oneline fix/door_texture # найти хэш коммита | |
| git checkout feat/room-collision-2 | |
| git cherry-pick <хэш-коммита> | |
| ``` | |
| --- | |
| ## Разрешение конфликтов | |
| Есть 3 основных способа: | |
| ### 1. GitHub Web UI (самый простой) | |
| - Зайди в PR → вкладка **Files changed**. | |
| - Там появится кнопка **Resolve conflicts**. | |
| - GitHub откроет встроенный редактор, где удобно убрать маркеры `<<<<<<<`, `=======`, `>>>>>>>`. | |
| - Можно сразу оставить комменты коллегам. | |
| ### 2. VS Code | |
| ```bash | |
| git fetch origin | |
| git merge origin/main | |
| ``` | |
| - Открой проект в VS Code. | |
| - Конфликтные файлы подсветятся. | |
| - VS Code предложит кнопки: **Accept Current / Accept Incoming / Accept Both**. | |
| - Можно комментировать и пушить изменения прямо из редактора. | |
| ### 3. Консоль | |
| ## Замена целиком | |
| ```shell | |
| # переключится на ветку фичи | |
| git checkout feat/room-collition-#2 | |
| git fetch origin | |
| # подтянуть мейн | |
| git merge origin/main | |
| # появится ошибка о конфликтных файлах | |
| ``` | |
| #### Если хочешь переписать на новые изменения | |
| ```shell | |
| git checkout --ours scenes/door.tscn | |
| git add scenes/door.tscn | |
| ``` | |
| #### Если созранить старое | |
| ```shell | |
| git checkout --theirs scenes/door.tscn | |
| git add scenes/door.tscn | |
| ``` | |
| # В конце | |
| Всегда свитчайся на свою тестовую ветку чтобы случайно не создать конфликтов с мейном | |
| ```bash | |
| git checkout -b stepan-test | |
| ``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment