Skip to content

Instantly share code, notes, and snippets.

@SumZbrod
Created November 19, 2025 04:53
Show Gist options
  • Select an option

  • Save SumZbrod/18839b13f2aa2cd0e6a2ce3da1cddf1d to your computer and use it in GitHub Desktop.

Select an option

Save SumZbrod/18839b13f2aa2cd0e6a2ce3da1cddf1d to your computer and use it in GitHub Desktop.
Trunk-protokol
---
# 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