После ветвления от FB, получите GitHub PR, чтобы показать только различия между FB и master - PullRequest
0 голосов
/ 03 октября 2019

У нас следующая ситуация:

master ------A          X------------Y
              \        / \          /
               \      /   \        /
                \    /     \      /
                 --B-       \    / 
                    \        \  /
                     C---------D

Джейн создала FB в A, а затем объединилась обратно в X.

Боб создал FB C в B, сделал некоторую работу, вытащилснова от мастера, и создал PR в D для слияния обратно в Y.

В GitHub PR Джейн правильно показывал только изменения между A и X и был снова объединен с мастером.

В GitHub PR Боба показывает ВСЕ изменения между A и Y, что не то, что мы ожидали. Мы думали, что, поскольку Боб слился с X в свой FB в D, его PR будет включать только изменения между его ветвью и X , то есть текущая разница между его ветвью и хозяином. .

Мы что-то упускаем из виду?

1 Ответ

0 голосов
/ 03 октября 2019

Попробуйте интерактивно перебазировать вас feature branch c на origin/master и force push на feature branch c.

  1. Обновите ваш локальный репозиторий:

    git fetch
    
  2. Переключитесь на свою ветвь функций C:

    git checkout feature-branch-c
    
  3. Запустите интерактивную ребазу для источника / мастера:

    git rebase -i origin/master
    

Вам будет предложено изменить историю , будьте осторожны;):

pick 2feec74 message1
pick 2xxxx m2
pick 2xxxx m3
pick xxxx m4

Это будет содержать те же самые коммиты, которые вы видите в своем github PR. Теперь вы можете просто удалить ненужные коммиты, поставив перед ними префикс d, например:

pick 2feec74 message1
d 2xxxx m2  (The commit you want to drop)
d 2xxxx m3  (The commit you want to drop)
pick xxxx m4

Сохраните ваш файл, и теперь вы можете нажать еще раз, но вам нужно будет использовать флаг -fтак как вы изменили историю.

git push -f
...