# Git: Как сделать rebase на staging (вместо подмерживания staging)
:exclamation: **Важно:** кейс описывает ситуацию, когда вы работаете в своей ветке и уже пушили коммиты в удалённую ветку, а вместо привычного подмерживания staging/master решили сделать ребейз, например для фикса конфликтов или фикса инспекций
**1. Переключаемся на ветку задачи:**
```bash
git checkout {task-branch-name}
```
**2. Делаем pull с rebase-ом,
(подтягиваем свежий стейдж и переносим свои коммиты на него):**
```bash
git pull --rebase origin staging
```
**3. Если прошло без конфликтов, то делаем форспуш в свою удалённую ветку:**
```bash
git push origin {task-branch-name} --force-with-lease
```
**Note:** Git-опция `--force-with-lease` безопаснее дефолтного `--force` т.к. действует гораздо аккуратнее: она проверяет, чтобы ваша локальная копия ref’а была самой свежей, прежде чем накатить её. Т.е. вы не затрёте своим форспушем свежие коммиты коллеги, если работаете в одной общей ветке.
**в случае неудачного ребейза - откатываемся:**
```bash
git reset --hard origin/{task-branch-name}
```
###### tags: `Git` `rebase`