git коммит только функциональная ветка мерж-реквеста - PullRequest
3 голосов
/ 10 июля 2020

Я постараюсь объяснить свою проблему как можно лучше:

  1. У нас есть основная ветка со следующими коммитами: C1, C2, C3
  2. Я создал свою собственную функцию ответвление от мастера и нажатие одной фиксации, поэтому у меня будет: C1, C2, C3, C4
  3. Между тем, основная ветвь продвинулась с другой фиксацией, поэтому у нас есть: C1, C2, C3, C5
  4. Я перенастраиваю свою функциональную ветку из основной и получаю: C1, C2, C3, C4, C5

Проблема в том, когда я создаю запрос на слияние из моей функциональной ветки в главный, мой запрос на слияние будет иметь два коммита, которые будут объединены: C4, C5 (здесь C5 имеет другую ha sh, чем у главного коммита C5).

Мой вопрос: есть ли способ объединить только мой коммит C4, поскольку C5 уже находится в главной ветке?

Ответы [ 2 ]

2 голосов
/ 10 июля 2020

Перебазирование feature поверх master должно привести к последовательности коммитов: C1, C2, C3, C5, C4

Попробуйте перезапустить перебазирование:

# from your 'feature' branch :
git checkout feature

# rebase on 'master' :
git rebase master

# your 'feature' branch should be rewritten, with commits 1,2,3,5,4
# please add a comment if this is not the case

После сортировки , pu sh ваша ветка (вам нужно будет использовать --force) и проверьте свой запрос на слияние: он должен упоминать только C4

0 голосов
/ 10 июля 2020

Вы можете просто объединить свою ветку с основной веткой, и она объединит только внесенные вами изменения, она не будет объединять код дважды. Когда вы это делаете, коммиты могут отображаться странно, но если вы посмотрите на свои изменения, вы увидите только изменения, внесенные в ваш 4-й коммит. (если я правильно это читаю.)

...