現在のブランチ以外のブランチのログを印刷するにはどうすればよいですか?


83

私はいくつかの変更を加えたブランチにいます。一部のファイルはプロセスによってロックされているため、ブランチの変更は面倒です。ブランチを変更するには、ロックされているすべてのプロセスを停止してstashから、他のブランチをチェックアウトしてログを確認する前に変更する必要があります。

チェックアウトせずに、別のブランチのログを表示することは可能ですか?


1
あなたの試してみましたgit log <branch>ところ、<branch>興味のあるブランチの名前の略?
jub0bs 2015

2
@Jubobs、いや、私はしませんでした。私はインターネットを検索し、周りのエキゾチックな提案を見つけることに頼る前に、明白なことを試してみてくださいcherryrev-list
BanksySan 2015

回答:


126

TL; DR

使用する

git log <branch>

ここ<branch>で、は対象のブランチの名前です。

git-logマンページ...

そのコマンドのマニュアルページにgit-log記載されいる概要の簡略版は次のとおりです。

git log [<revision range>]

さらに下に、次の文章があります。

no<revision range>が指定されている場合、デフォルトでHEAD(つまり、現在のコミットにつながる履歴全体)になります。

つまり、git logはと同等git log HEADです。たとえば、と呼ばれるブランチを使用している場合mybranch、このコマンドもgit log mybranch。と同等です。

別のブランチ、つまり現在使用していないブランチから到達可能なコミットにログを制限したいとします。これを行う最も簡単な方法は、対象のブランチの名前を明示的に渡すことですgit log

git log <branchname>

引数がとることができる多くの形式の詳細については、gitrevisionsのマンページ参照してください<revision-range>


このような「gitlog」を実行するには、最初にローカルでチェックアウトするブランチが必要なようです。少なくともgit2.27.0はこのように動作します。
a_girl

@a_girlここで「ローカルチェックアウト」とはどういう意味かわかりません。これは、masterチェックアウトされているかどうかに関係なく、ローカルブランチ(例)とリモートブランチ(例origin/master)で実行できます。
jub0bs

1
ooooohhh、今私はそれを手に入れました。試してみるgit log mybranchとエラーが発生しましたが、実行するgit checkout mybranch; git checkout master; git log mybranchと「origin /」がなくても動作しました。そのため、最初にブランチをチェックアウトする必要があると思いました。しかし、リモートブランチの履歴を探すために、単に「git logorigin / mybranch」を使用する必要がありました。ありがとうございました。
a_girl
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.