2014-10-29 8 views
1

Скажите, что у вас есть master и develop ветви. Более того, говорят, что вы рабочий процесс как то:Как сохранить --no-ff слияния после переустановки

  • на develop вы извлекаете новый feature филиал;
  • Работа над ним;
  • выезд develop еще раз;
  • слияние feature отрасль с --no-ff.

Таким образом, вы можете хорошо видеть, какие фиксации принадлежат к какой функции.

* Merge branch 'feature' into develop 
|\ 
| * Commit 3 
| * Commit 2 
| * Commit 1 
|/ 
* Some old commit 

В какой-то момент вы тянете master и хотите перебазироваться develop на нем. Однако, после перебазирования git log отображает все совершающее на develop линейным способом, не показывая feature ветви и опуская родовое объединение обязуется:

* Commit 3 
* Commit 2 
* Commit 1 
* Some old commit 

Почему так и как я могу сохранить их после перебазирования?

+0

возможно дубликат [Rebase слияния совершить] (http://stackoverflow.com/questions/9013411/rebase-a-merge-commit) – sschuberth

ответ

3

Pass -p к git rebase см http://git-scm.com/docs/git-rebase.html:

-p 
--preserve-merges 

    Instead of ignoring merges, try to recreate them. 

    This uses the --interactive machinery internally, but combining it with the --interactive option explicitly is generally not a good idea unless you know what you are doing (see BUGS below). 
Смежные вопросы