tech-tips/Программное обеспечение/Версионирование кода/git/Поменять начало ветки (переместить ветку на другую).md

20 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
tags: ["git", "git-rebase"]
---
Вы создаёте тематическую ветку `server`, чтобы добавить в проект некоторую функциональность для серверной части, и делаете коммит. Затем вы выполнили ответвление, чтобы сделать изменения для клиентской части, и создали несколько коммитов. Наконец, вы вернулись на ветку `server` и сделали ещё несколько коммитов.
[![](https://git-scm.com/book/en/v2/images/interesting-rebase-1.png)](https://git-scm.com/book/en/v2/images/interesting-rebase-1.png)
Предположим, вы решили, что хотите внести изменения клиентской части в основную линию разработки для релиза, но при этом не хотите добавлять изменения серверной части до полного тестирования. Вы можете взять изменения из ветки `client`, которых нет в server (`C8` и `C9`), и применить их на ветке `master` при помощи опции `--onto` команды `git rebase`:
```
git rebase --onto master server client
```
В этой команде говорится: "Переключись на ветку client, найди изменения относительно ветки server и примени их для ветки master".
[![](https://git-scm.com/book/en/v2/images/interesting-rebase-2.png)](https://git-scm.com/book/en/v2/images/interesting-rebase-2.png)
[Источник](https://git-scm.com/book/ru/v2/%D0%92%D0%B5%D1%82%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-Git-%D0%9F%D0%B5%D1%80%D0%B5%D0%B1%D0%B0%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5#_%D0%B1%D0%BE%D0%BB%D0%B5%D0%B5_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B5%D1%81%D0%BD%D1%8B%D0%B5_%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D1%8F)