Как получить историю фиксации только для одной ветви?
допустим, я создал новую ветку my_experiment
с master
и сделал несколько коммитов в my_experiment
. Если я сделаю git log
, когда на my_experiment
, Я вижу коммиты, сделанные в этой ветке, но также коммиты, сделанные в master
до my_experiments
ветка была создана.
мне было бы очень полезно посмотреть историю всех обязывает к my_experiments
ветвь, пока она не попадет в создание этой ветви-фактически истинная история именно этой ветви. В противном случае мне не ясно, когда просматривая журнал, были ли коммиты на my_experiments
ветке или нет.
есть ли способ сделать это с Git?
4 ответа:
можно использовать ряд для этого.
git log master..
если вы проверили свой
my_experiment
филиала. Это позволит сравнить, гдеmaster
в кHEAD
(кончикmy_experiment
).
The
git merge-base
команда может быть использована для поиска общего предка. Поэтому, если my_experiment еще не был объединен в master и my_experiment был создан из master, вы можете:git log --oneline `git merge-base my_experiment master`..my_experiment
Примечание: Если вы ограничиваете этот журнал до последнего N фиксации (последние 3 фиксации, например, git log -3), обязательно поместите пробел между ' n ' и вашей веткой:
git log -3 master..
перед Git 2.1 (август 2014), Эта ошибка:
git log -3master..
фактически покажет вам последние 3 коммита текущей ветви (здесьmy_experiment
), игнорируяmaster
предел (имеется в виду, еслиmy_experiment
содержит только один коммит, 3 все равно будут перечислены, 2 из них отmaster
)посмотреть commit e3fa568 by Junio C Hamano (
gitster
):revision: parse"
git log -<count>
" более тщательноэта ошибочная командная строка просто игнорирует "
master
" и в конечном итоге показывает два коммита из текущегоHEAD
:$ git log -2master
потому что мы кормим "
2master
" кatoi()
не убедившись, что вся строка анализируется как целое.использовать
strtol_i()
вспомогательную функцию вместо.
Я думаю, что вариант для ваших целей-это
git log --oneline --decorate
. Это позволяет узнать проверенную фиксацию и верхние фиксации для каждой ветви, которая у вас есть в вашей сюжетной линии. Таким образом, у вас есть хороший вид на структуру вашего РЕПО и фиксации, связанные с конкретной веткой. Я думаю, что чтение этой может помочь.