Ответ 1
Я решил решить свою проблему, используя короткий python script, объединяющий git patch-id и git журнал, script можно найти здесь https://gist.github.com/4565584
У меня два ветки, мастер и живые. Мастер - это разработка и содержит коммиты, которые не готовы вживаться.
То, что я хочу сделать, это просмотреть все коммиты, которые находятся в главном, чем не вживую, у меня был хороший поиск здесь и Google, и я использовал это:
git log --cherry-pick --no-merges --oneline master...live
Это сработало, пока я не объединился в мастер. Но теперь он перечисляет несколько коммитов, которые находятся в обоих.
Итак, какова правильная команда для просмотра всех коммитов, находящихся в главной ветки, а не в живой ветке?
Я решил решить свою проблему, используя короткий python script, объединяющий git patch-id и git журнал, script можно найти здесь https://gist.github.com/4565584
Вы очень близки. Правильная команда:
git log --cherry-pick --oneline --no-merges --left-only master...live
на странице журнала:
--left-only, --right-only
Список только фиксируется на соответствующей стороне симметричного диапазона, то есть только те, которые будут помечены как < соответственно > by -left-right.
Например, --cherry-pick -right-only A... B пропускает те коммиты из B, которые находятся в или являются патчами, эквивалентными фиксации в A. Другими словами, это перечисляет + фиксации из git cherry A B. Точнее, --cherry-pick -right-only -no-merges дает точный список.
git log master ^live --no-merges