Как выполнить ускоренное слияние на GitHub? - PullRequest
0 голосов
/ 09 марта 2020

Таким образом, один из моих коллег попытался объединить ветку, используя опцию GitHub «объединить через ускоренную пересылку» в веб-интерфейсе, чтобы сохранить историю чистой от фиктивных коммитов слияния (ветвь master, в которую они слились, имела не прогрессировал с тех пор, как была запущена будущая объединенная ветка объектов).

Как ни странно, это не сработало, как ожидалось: все коммиты получили новые хеши коммитов.

При ближайшем рассмотрении кажется, что опция слияния на самом деле называется «Rebase and Merge», и она действительно эквивалентна git rebase --force, изменяя информацию Committer (как человека, который сделал слияние, так и когда произошло слияние).

Мне потребовалось довольно много времени, чтобы подтвердить мое подозрение, что это действительно так, поскольку я не смог создать инструменты cmdline, чтобы показать мне разницу между исходными коммитами в ветви функций и, казалось бы, идентичные коммиты (с разными хэшами) в основной ветви (В конце концов, я обнаружил, что gitk показывает и коммиттера, и автора коммита; в конце очень я обнаружил, что могу также получить эту информацию через git log --pretty=raw)

Итак:

  • Есть ли способ сделать "правильное" ускоренное слияние (git rebase без --force опция) через GitHub's веб-интерфейс?
  • Если нет: почему? (Я вижу преимущества в подотчетности; например, он отвечает на вопрос, кто несет ответственность за то, что данный фрагмент кода оказался в master)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...