Подтвердить что ты не робот

Как узнать, к какой ветке принадлежит "git log"?

Если я делаю git log, есть ли какой-либо параметр, который я мог бы указать, чтобы иметь возможность указывать из вывода, к какому ветки относится каждая фиксация?

Изменить: пояснить, я понимаю, что фиксация может быть частью двух ветвей (например). Я хочу получить самую последнюю ветвь, к которой принадлежит фиксация в log. Итак, если я сделал ветку с именем foo из master. Он будет принадлежать обоим ветвям, но я хочу получить foo.

4b9b3361

Ответ 1

С git log вы уже получаете все коммиты из текущей ветки, в которой вы находитесь.

Если вы хотите видеть коммиты из объединенных веток, вы можете использовать

$ git log --pretty=oneline --graph

Чтобы создать дерево журналов и посмотреть, с чем связаны объединенные ветки, вытекает из.

--graph сделает дерево фиксации и --pretty=oneline сделает визуализацию одной строки для каждой фиксации

Чтобы добавить ветки (как ссылки) в журнал:

$ git log --all --source --pretty=oneline --graph

Чтобы отобразить ветки с фиксациями:

$ git show-branch

Ответ 2

Я думаю, что то, что вы ищете, - очень полезная команда:

git branch -a --contains <SHA1sum-of-commit>

..., который расскажет вам каждую ветку (как локальную, так и удаленную), которая содержит эту фиксацию.

К сожалению, я не думаю, что есть опция git log, которая просто выводит это для каждой фиксации. Использование --all --source близко, но отображает только одну ветвь для каждой фиксации. Однако, если вы нажмете на фиксацию в gitk --all, вы увидите, что в ней перечислены все ветки, на которых включена фиксация.

Есть одна часть вашего вопроса, которая не очень хорошо определена, однако вы спрашиваете:

Я хочу получить самую последнюю ветвь, которая принадлежит журналу фиксации в

Мне непонятно, что вы подразумеваете под этим - "самая последняя ветвь" может быть (a) последним созданным ref (b) последним измененным ref (c) ветвью с последней фиксацией на нем и т.д. и т.д. Вероятно, лучший способ определить, что вы хотите, с точки зрения графика фиксации.

Ответ 3

Вы пробовали вариант "--decorate" для git журнала?

У меня есть этот псевдоним в моем .gitconfig:

[alias]
        k = log --graph --oneline --abbrev-commit  --decorate

Он показывает аналогичный граф, такой как gitk, с названиями ветвей, "украшенными", кроме последнего фиксации в ветке.