1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Git】git log 範囲指定/ファイル指定

Last updated at Posted at 2024-05-31

はじめに

本記事では、以下の状態のリポジトリを参考に解説していきます。

image.png

範囲指定

(1)指定なし

HEADから参照できる全てのコミットを表示します。
git log(⇒コミット1,2,4,5を表示)
image.png

(2)ブランチ指定

指定したブランチから参照できる全てのコミットを表示します。
git log origin/main(⇒コミット1,2,3を表示)
image.png

(3)複数指定

指定した全てのブランチから参照できる全てのコミットを表示します。
git log origin/main origin/develop(⇒コミット1,2,3,4を表示)
image.png

(4)「^」特定の範囲を除いて指定

キャレット「^」を指定したブランチから参照できるコミットを除いて表示します。
git log develop ^main(⇒コミット4,5を表示)
image.png

(5)「..」ここからここで指定

特定の範囲を指定して表示します。
(※正確には(4)「git log develop ^main」の省略形)
git log main..develop(⇒コミット4,5を表示)
image.png

(6)「...」分岐以降を比較するように指定

指定したブランチ同士の、分岐以降のコミットを表示します。
git log origin/main…develop(⇒コミット3,4,5を表示)
image.png

これまで「origin/main」と指定してきた箇所は、「origin」だけでも同一の動きをするので問題ありません。
なぜなら、ブランチ名を省略するとHEADを見にいくので、「origin/HEAD」を指定=「origin/main」を指定となるためです。

ファイル指定

(1)単一ファイル指定

git log a.txt(⇒コミット1,2,5を表示)
image.png

削除済みのファイルを指定する時は、以下の通りファイルパスの前に「--」を付与する必要があります。
git log -- a.txt

(2)複数ファイル指定

git log a.txt b.txt(⇒コミット1,2,4,5を表示)
image.png

ファイルの指定は、gitリポジトリのルートディレクトリからの相対パスになります。
(本記事のサンプルでは、ルートディレクトリにファイルを置いているため、実質的にファイル指定となりました)

合わせ技

範囲指定しつつファイル指定をすると、例えばこんな感じになります。
git log origin...develop b.txt(⇒コミット3,4を表示)
image.png

おわりに

git logコマンドの範囲指定とファイル指定の方法についてまとめてみました。
華麗にログを表示して開発に活かしていただけると幸いです!

オプション周りについては本記事では触れていないので、他の記事などを参考にしていただければと思います。

また、質問やご指摘など、少しでもお送りいただけると力になりますので助かります。

ご一読いただき、ありがとうございました!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?