Git - скрыть коммиты слияния из апстрима - PullRequest
0 голосов
/ 27 октября 2018

Я использую следующий рабочий процесс для проекта на Github.

  1. Вилка хранилища
  2. Слияние базы master с разветвлением master
  3. Создайте ветку из разветвленной master и внедрите что-нибудь
  4. Создать пул-запрос из моей ветки на базу master
  5. После проверок и проверки сопровождающий объединяет мою ветку с базой master.
  6. Перейти к 2.

Проблема в 2. Сначала у меня не было опыта работы с git, поэтому я сделал это с помощью запроса на получение в моем форке. Теперь я делаю git pull upstream && git merge upstream/master, который создает новый коммит слияния. После некоторых таких слияний мои PR выглядят так: Bunch of merge commits

Как видите, существует множество коммитов слияния. Это действительно безобразно, и может быть довольно сложно понять, что именно я хочу слить. Более того, этот список увеличивается каждый раз, когда я объединяю базу master с моей вилкой.

Есть ли способ скрыть / удалить их? В данный момент я могу только рассмотреть возможность удаления и повторного создания форка каждый раз, когда выполняется PR, но это не очень хорошо, потому что я могу работать над A, затем переключиться на B, объединить B, вернуться к A и т. Д. git rebase фактически не скрывает их: объединенные коммиты перечислены в PR с $user authored and $me commited.

1 Ответ

0 голосов
/ 27 октября 2018

Чтобы исправить свой «сломанный» пиар, вы можете сквош всех ваших коммитов в один коммит.Вы можете сделать это в командной строке с помощью git rebase -i и изменить pick на squash для всех, кроме первого коммита.

GitHub фактически реализует это и для вас - если вы щелкнете раскрывающийся список рядом с кнопкой Merge pull request, есть опция для Squash & merge, которая делает то же самое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...