Во-первых, (другой) Адам прав, что не имеет смысла использовать --all
для этого: если вы хотите видеть только одну ветку, как указано в вашем вопросе, зачем спрашивать все ветви?
Во-вторых, как уже говорилось в комментариях к другим ответам, вам не нужно --branches
;просто сделайте git log mybranch
.
В-третьих, я могу объяснить, почему git log --branches=mybranch
не работает.git-log(1)
справочная страница гласит:
--branches[=<pattern>]
Pretend as if all the refs in refs/heads are listed on
the command line as <commit>. If <pattern> is given,
limit branches to ones matching given shell glob. If
pattern lacks ?, *, or [, /* at the end is implied.
Последнее предложение является ключевым моментом здесь.Если <pattern>
- это просто mybranch
, то нет символа смещения, поэтому git-log
интерпретирует его так, как если бы вы набрали
git log --branches=mybranch/*
, который соответствует только ссылкам в $repo/.git/refs/heads/mybranch/*
, то есть ветви, которыеначать с mybranch/
.
Существует грязный взлом, чтобы помешать предположению /*
:
git log --branches=[m]ybranch
, но я не могу придумать ни одной веской причины, почему вы хотели бычтобы сделать это, а не просто набрать
git log mybranch