QA@IT

gitで特定のブランチの最後のコミットを得るには

3728 PV

リポジトリ上に存在するあるブランチ(チェックアウトしていないものも含む)の最後のコミットを得る場合はどうするのがスマートでしょうか?

git checkout -b hoge origin/hoge
として一度チェックアウトすれば簡単に最後のコミットを得ることは可能ですが、チェックアウトせずに得る方法を教えてください。

  • "得る"とは、どういう状況のことを指しますか?
    コミットの内容を見れればよいということですか?
    -
  • エスパーすると、リモートブランチの最新コミットをローカルにチェックアウトせずに見たいということでしょうか? -
  • まさにエスパーしていただいた内容でした。
    得るっていうのはgit log相当の情報が欲しかった、という意味でした。
    -

回答

最後のコミットって、普通に origin/hoge で参照できませんか?

% git show(コマンドは適宜) origin/hoge

とかそういう感じで。
それで見れていなければチェックアウトというより fetch ができていない状態かと思います。

% git fetch origin

してみましょう。
ちなみにチェックアウトする場合でも、ローカルブランチが必要なければ(読むだけとか)

% git checkout origin/hoge

で充分な場合もあるかもしれません。

編集 履歴 (0)
  • git log origin/hogeという形でいけました!!
    fetchはしていたので参照したいブランチの指定がまずかったみたいでした。
    ありがとうございます!
    -

コミットを得るというのがいまいち分からないのですが、下記ではだめなのでしょうか?

git log -1 branch_name
編集 履歴 (0)
  • 手元にあるやつはそれで取れるのですが、ローカルにcheckoutしていないリモートのブランチに対してやりたかったのです。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。