筆休め

こんにちは。最近、 Netflix を利用し始めた k-so16 です。以前から興味があった フルハウス を楽しく視聴しています(笑)

業務で、あるファイルの変更がどのブランチに含まれているかを知りたいことがありました。目的の変更のコミットは分かっている前提として、 目的のコミットハッシュを含むブランチを取得 できれば、特定のファイルの変更を含むブランチがわかります。

本記事では、特定のコミットハッシュを含むブランチを取得する方法を紹介します。

本記事で想定する読者層は以下の通りです。

  • Git の基本的な操作を知っている

特定のコミットハッシュを含むブランチを取得する方法

特定のコミットハッシュを含むブランチを検索するには、 git branch コマンドの --contain オプションにコミットハッシュを引数として渡します。コミットハッシュは短縮形のハッシュでも完全なハッシュでも問題なく動作します。

以下にコマンド例を示します。 $COMMIT_ID にはコミットハッシュが入っている想定です。

  • ローカルブランチを検索する場合
    git branch --contain $COMMIT_ID
    
    • 出力結果例
      bar
      foo
    * main
    
  • リモートブランチを検索する場合
    git branch -r --contain $COMMIT_ID
    
    • 出力結果例
      origin/bar
      origin/foo
      origin/HEAD -> origin/main
      origin/main
    
  • ローカルとリモート両方合わせて検索する場合
    git branch -a --contain $COMMIT_ID
    
    • 出力結果例
      bar
      foo
    * main
      remotes/origin/bar
      remotes/origin/foo
      remotes/origin/HEAD -> origin/main
      remotes/origin/main
    

本記事を執筆する上で以下の記事を参考にしました。

git - What command to use to see what branch my actual branch derived from? - Stack Overflow

まとめ

本記事のまとめは以下の通りです。

  • 特定のコミットハッシュを含むブランチの取得方法を説明
    • git branch コマンドで --contain オプションを利用
    • ローカルブランチとリモートブランチでの検索方法を紹介

以上、 k-so16 でした。 Git の達人の道はまだまだ遠そうです(笑)

おすすめの記事