Open2
【Git・GitHub Tips📝】PR Reviewの際によく実施する操作などTips📝

PR Reviewの際によく実施する操作などTips📝
# Remoteから最新のブランチ情報を取ってくる。
git fetch origin
# Remote の PRブランチにチェックアウト
git checkout origin/<ブランチ名>
# PRブランチにチェックアウト
git checkout <ブランチ名>
Remote RepositoryのPRにUpdateがあった場合
# 最新のUpdateをlocalにMergeする。
git pull origin <ブランチ名>
# コンフリクトや、rebaseなどの手間がある場合は、次のような手順をとったほうが楽である。
# localブランチ削除 -> 最新取得 -> PRブランチに切り替え。
git branch -D <ブランチ名>
git fetch origin
git checkout <ブランチ名>

解説📝
git fetch origin
1. 意味:
このコマンドは、リモートリポジトリ(ここではorigin
という名前で登録されているリポジトリ)から最新のブランチ情報やコミット情報を取得します。ただし、ローカルリポジトリの作業ツリー(実際に編集しているファイル)には影響を与えず、単にリモートの状態をローカルのGitデータベースに反映するだけです。
具体的に何をするか:
- リモートリポジトリのブランチやタグの最新情報をダウンロードする。
- ローカルのブランチ(例:
main
やfeature-branch
)はそのまま維持される。 - 例えば、リモートで新しいブランチが作成された場合や、既存のブランチに新しいコミットが追加された場合、それらの情報がローカルに認識されるようになります。
ポイント:
-
git pull
とは異なり、取得したデータをローカルのブランチにマージ(統合)することはありません。情報確認用と考えてください。
git checkout origin/<ブランチ名>
2. 意味:
このコマンドは、リモートリポジトリ(origin
)にある特定のブランチ(<ブランチ名>
)の内容を直接参照してチェックアウトします。ただし、これは少し特殊な動作をします。リモートのブランチを直接ローカルで編集可能な状態にするのではなく、「リモートのブランチの状態をそのまま見る」ような形になります。
具体的に何をするか:
-
origin/<ブランチ名>
(例:origin/feature-123
)は、リモート追跡ブランチ(remote-tracking branch)と呼ばれ、git fetch
で取得したリモートのブランチの状態を表します。 - このコマンドを実行すると、そのブランチのコミット時点の状態が作業ツリーに反映されます。
- ただし、ローカルに同名のブランチを作成するわけではなく、いわゆる「デタッチドHEAD(detached HEAD)」状態になります。これは、特定のコミットを直接見ている状態で、通常のブランチ上での作業とは異なります。
注意点:
- この状態で変更を加えてコミットしても、ローカルブランチに反映されないため、作業を進める場合は以下のようにローカルブランチを作成する必要があります:
git checkout -b <ローカルブランチ名>
- 主に、リモートのブランチの内容を確認したいときや、一時的にその状態を試したいときに使います。
実際の流れの例
-
git fetch origin
→ リモートの最新情報を取得して、ローカルに「origin/<ブランチ名>
」として認識させる。 -
git checkout origin/<ブランチ名>
→ そのリモートブランチの内容をチェックアウトして、コードやファイルを確認する。