Почему рабочий стол GitHub представляет историю так, как будто она принадлежит только одному члену нашей команды?

Я использую Git в команде из трех человек для создания приложения для iOS. Для этого проекта мы все работаем на Mac и Xcode и имеем множество различных способов использования Git: внутри Xcode, с помощью Github Desktop и из терминала Bash.

Меня смущает история, которую я вижу на рабочем столе GitHub — она линейна и, похоже, принадлежит одному разработчику.

Я могу использовать команду терминала git log --since='2016-05-06' --pretty=format:"%h %an %cd" --graph, чтобы увидеть коммиты за последние несколько дней:

скриншот журнала git терминала

Я ясно вижу, что последние двенадцать коммитов распределены между всеми тремя участниками. Но в GitDesktop это выглядит не так:

Снимок экрана GitHub

Здесь все последние коммиты, похоже, сделаны одним разработчиком, и все они выложены линейно без структуры ветвления, показанной параметром --graph для git log.

Почему GitHub Desktop представляет историю как один разработчик? Куда пропала ветвящаяся структура? Как заставить GitHub Desktop показывать мне историю, которую может git log?


person dumbledad    schedule 10.05.2016    source источник


Ответы (1)


Я получил ответ от команды GitHub.

Команда терминала, которая является лучшим сравнением, — git log --since='2016-05-06' --pretty=format:"%h %an %cd" --graph --first-parent. Глядя на git log документацию, параметр --first-parent описывается как:

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

В своем ответе GitHub поделился тем, что один из их разработчиков сказал о GitHub Desktop Сравнительный график

«GitHub Desktop оптимизирован для GitHub Flow. В этой модели слияния почти всегда представляют либо (1 ) ветка объединяется с веткой по умолчанию с помощью запроса на вытягивание или (2) ветка обновляется из ветки по умолчанию.

В первом случае наиболее полезно видеть, какие запросы на включение были объединены, а не отдельные коммиты, из которых состоит этот запрос на вытягивание. Мы думаем, что пулл-реквесты потрясающие и очень полезные для понимания истории, поэтому мы хотим расставить им приоритеты.

Во втором случае просмотр коммитов, пришедших со слиянием, только скрывает изменения в ветке. Полезнее всего видеть коммиты, уникальные для ветки».

Но цель состоит в том, чтобы «в будущем [они] хотели сделать все коммиты доступными в GitHub Desktop».

person dumbledad    schedule 10.05.2016