1
1

【Git】自分が作業した差分のファイル名を出力するGitコマンド「git log」

Last updated at Posted at 2024-05-28

はじめに

とあるプロジェクトで自分が過去に作業したファイル名の一覧を出さなくてはいけないことがあり、gitコマンドでいい感じに出力できないか試してみたところうまくできたので書いていきたいと思います。

コマンド

git log コミットID..HEAD --author="ユーザー名" --name-only --pretty=format: | sort | uniq > my_changes.txt

解説

  • git log
    Gitのコミット履歴を見たり出力できるコマンドです。

  • コミットID..HEAD
    差分を見たいコミットIDを指定します。HEADは最新の状態という意味。HEADを特定のコミットIDに変えることもできます。

  • --author="ユーザー名"
    githubアカウントのユーザ名またはメールアドレスを指定することで、出力結果を自分の作業分のみにするオプションです。

  • --name-only
    出力される内容がデフォルトだと内容なども出力される為、ファイル名のみにするオプションです。

  • --pretty=format: | sort | uniq
    「--pretty=format:」はログのフォーマットを指定するオプションです。
    「sort」は行をソートするために使用されます。コミットログは通常時系列で表示されますが、sortコマンドによって行がソートされます。
    「uniq」コマンドは、連続する重複行を削除するために使用します。

  • > my_changes.txt
    出力結果を指定したファイル名・拡張子で作成するオプションです。コマンドを実行した階層に「my_changes.txt」というファイルが生成されており、ファイルを開くと差分ファイル一覧が出力されています。

Windowsの場合

「--pretty=format: | sort | uniq」はLinux・Unix系のコマンドで、Windowsでは使えません。
その為、Windows環境でUnix系のコマンドやシェルスクリプトを実行できるGit Bashなどのソフトウェアを使用します。

Git Bashをインストールする

Git Bashでコマンドを入力する

対象ディレクトリに移動し、コマンドを実行すると差分ファイル一覧が記載されたログファイルを出力されます。

さいごに

以上、gitで自分が作業したファイルリストを出力する方法でした!
ご指摘などありましたらコメント頂けますと幸いです。

1
1
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
1