1. ホーム
  2. git

[解決済み] リモートのgitブランチをローカルリポジトリにきれいに取得/コピーする方法

2023-01-31 11:24:30

質問

私は、リモート ブランチの正確な "copy" を特定のローカル ブランチに "copied" したいのですが、どうしたらいいですか。

たとえば、あるチームメンバーが実験的な機能を作成し、それを experiment というブランチにチェックインしたとします。 私は、自分のローカルリポジトリに新しいブランチをチェックアウトし、そのブランチの experiment ブランチを、そのまま、新しくチェックアウトしたブランチにコピーしたいのです。

私のコードにマージするのではなく、私のコードを完全に上書きして、彼が "experiment" ブランチで行ったことをきれいに見ることができるようにしたいのです。

他の誰かがリモート リポジトリにコミットしたリモート ブランチを、自分のローカル コードにマージを実行しようとしない方法で、どのように "get" (fetch/pull/whatever...) するのでしょうか。

どのように解決するのですか?

マージにこだわらない場合。

git reset --hard <remote>/<branch_name>

マージもリベースもせず、単にローカルブランチをリモートとまったく同じ状態にするだけです。

しかし、あなたの場合、それは必要ありません。あなたが作りたいのは 新しい ローカルブランチはリモートと同じ状態にしたいので、ローカルブランチを作成する際にリモートブランチを git checkout :

git checkout -b <my_new_branch> <remote>/<branch_name>

ローカルで同じ名前を使いたい場合は、それを短縮して

git checkout <branch_name>

あなたは git reset --hard がすでにローカルブランチである場合、その変更を破棄して あなたは を破棄し、代わりにリモートブランチの正確なバージョンを取得します。

リモートブランチの最新の状態を確実に取得するために git fetch <remote> を使ってください。