Як я можу надрукувати журнал для гілки, відмінної від поточної?


83

Я на гілці з деякими змінами. Зміна гілки - це біль, оскільки деякі файли блокуються процесами, тому для зміни гілки мені доведеться зупинити всі процеси, які мають блокування, а потім stashзміни перед тим, як перевірити іншу гілку, щоб побачити її журнал.

Чи можна переглянути журнал для іншої гілки, не перевіряючи його?


1
Ви вже пробували git log <branch>, де <branch>позначається назва галузі, що цікавить?
jub0bs

2
@Jubobs, ні, я не робив. Я повинен спробувати очевидне, перш ніж вдаватися до пошуку в Інтернеті та пошуку екзотичних пропозицій навколо cherryта rev-list.
Banksy,

Відповіді:


126

TL; DR

Використовуйте

git log <branch>

де <branch>назва філії, що цікавить.

З git-logробочої сторінки ...

Спрощена версія git-logконспекту, наведена на цій сторінці команди, є

git log [<revision range>]

Далі ви можете знайти такий уривок:

Якщо значення не <revision range>вказано, воно за замовчуванням HEAD(тобто вся історія, що веде до поточного коміту)

Іншими словами, git logце еквівалентно git log HEAD. Якщо ви знаходитесь у гілці, яка називається mybranch, скажімо, ця команда також еквівалентна git log mybranch.

Ви хочете обмежити журнал комітами, доступними з іншої гілки, тобто гілки, на якій ви зараз не перебуваєте. Найпростіший спосіб зробити це - явно передати назву галузі, що цікавить git log:

git log <branchname>

Детальніше про безліч форм, які може прийняти аргумент, див. На сторінці gitrevisions<revision-range> .


Здається, у вас повинна бути гілка, щоб її спершу перевіряли локально, щоб запустити "git log" так. Принаймні git 2.27.0 поводиться так.
a_girl

@a_girl Не знаю, що ви маєте на увазі під цим словом "перевірено на місцевому рівні". Ви можете запустити це на локальній гілці (напр. master), Незалежно від того, чи буде це відмічено, та на віддаленій гілці (наприклад origin/master).
jub0bs

1
оооооо, зараз я зрозумів. Я спробував, git log mybranchі він видав помилку, але тоді, коли я запустив, git checkout mybranch; git checkout master; git log mybranchце працювало навіть без "origin /". Тому я подумав, що спочатку потрібно перевірити свою філію. Але мені просто довелося використовувати "git log origin / mybranch", щоб шукати історію віддаленої гілки. Дякую.
a_girl
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.