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 fetch
と git log
を実行してコミットハッシュを確認した後)。
git pull origin <commit_hash>
上記のコマンドを使用すると、前述のコミットのハッシュからすべての変更をプルできます。
ここで、git pull
は、git fetch
と git merge
を組み合わせたものです。