Squash do tylko jednego „poprawnego” zatwierdzenia dla żądania ściągnięcia github

Mam repo na github, na które ktoś inny (Bob, ze względu na argumenty) wydał żądanie ściągnięcia. Jego kod nie jest doskonały, więc przechodzimy przez kilka rund znaczników. Jak rozumiem, zobowiązuje się i popycha do swojego żądania ściągania dla każdego zestawu zaznaczonych zmian.

Moje repozytorium wygląda teraz tak:

master: ---o A (Chowlett
           |
           |
pull-req:  o---o---o---o
               B   C   D (all Bob)

Zatwierdź SHAs i msgs są następujące:

ZA:

123456 Good commit <chowlett>

B:

777ccc Fix the widget bug <bob>

DO:

888ddd Review markups <bob>

RE:

999eee Further markups <bob>

Jestem teraz szczęśliwy, mogąc zaakceptować tę prośbę o ściągnięcie; ale wolałbym, żeby wersje pre-markup nie były w moim repo. Czy mogę osiągnąć wszystkie poniższe; i jak?

Połącz B, C i D w moje repo jako pojedyncze zatwierdzenieGeneruj również zatwierdzenie „Merge pull request # 99 into ...”Niech github automatycznie zamknie żądanie ściągnięcia

questionAnswers(5)

yourAnswerToTheQuestion