Git リポジトリから特定のコミットをプルする

Ashok Chapagai 2023年1月30日
  1. git fetch を使用して変更をフェッチし、コミットハッシュを使用してマージする
  2. 新しいブランチへの特定のコミットのプルコード
  3. コミットハッシュで git pull を使用する
Git リポジトリから特定のコミットをプルする

特定のコミットをリモートリポジトリからローカルリポジトリにプルしたい場合がありますが、それを実現する方法はいくつかあります。以下に、Git リポジトリから特定のコミットをプルするいくつかの方法を示します。

git fetch を使用して変更をフェッチし、コミットハッシュを使用してマージする

これを使用して、リモートリポジトリから変更をフェッチし、ローカルコードベースにマージするコミットのハッシュを見つけることができます。次の手順を参照できます。

  • リポジトリへの最新の変更を取得します
    git fetch remote <branch_name>
    

    git fetch コマンドは、指定された <branch_name> から変更をフェッチします。

  • Git ログを表示してコミットハッシュを取得してマージする
    git ログ
    

    上記のコマンドは、コミットハッシュ、コミットの作成者、コミットの日付、コミットメッセージなどのすべてのコミットを一覧表示します。
    --oneline フラグ、git log --oneline を使用して、すべてのコミットとそれぞれのハッシュを 1 行でフェッチできます。

  • コミットハッシュを使用して目的のコミットをマージする
    git merge <commit_hash>
    

    最後に、マージするコミットは、git merge コマンドでコミットハッシュを使用して実行できます。

上記の方法では、マージされたコミットまでのすべてのコミットもマージされます。ただし、単一のコミットからの変更をマージするには、git cherry-pick を次のように使用できます。

git cherry-pick <commit_hash>

新しいブランチへの特定のコミットのプルコード

コミットから変更をプルして新しいブランチにチェックアウトする場合は、1つのコマンドを使用してそれを実現できます。

git checkout -b <new_branch_name> <commit_hash>

上記の git log コマンドを使用してコミットハッシュを取得できます。

コミットハッシュで git pull を使用する

このステップは、最初の方法から 2 番目のステップまでの手順と似ています。前述のように実行した後、2 番目のステップ(git fetchgit log を実行してコミットハッシュを確認した後)。

git pull origin <commit_hash>

上記のコマンドを使用すると、前述のコミットのハッシュからすべての変更をプルできます。

ここで、git pull は、git fetchgit merge を組み合わせたものです。

著者: Ashok Chapagai
Ashok Chapagai avatar Ashok Chapagai avatar

Ashok is an avid learner and senior software engineer with a keen interest in cyber security. He loves articulating his experience with words to wider audience.

LinkedIn GitHub