GitHub push / pullの違い

pushは手元のcommitをGitHubへ送る操作、pullはGitHub側の変更を手元へ取り込む操作です。どちらもbranch、差分、conflictの可能性を確認してから進めます。

このページでわかること

  • pushは送る操作、pullは取り込む操作
  • branchとremoteを確認してから実行する
  • conflictが出たら内容を読んで解消する

まず確認すること

  • push前に差分と公開範囲を見る
  • pull前にローカル未保存変更がないか見る
  • mainへ直接入れずPRで確認できる流れを優先する

やってはいけないこと

  • 履歴を書き換える操作を軽く扱う
  • conflictを片側だけ見て機械的に消す
  • 認証情報が入った変更をそのまま送る

安全寄りに進める手順

  1. 対象のrepo、branch、PR、Actions runを確認する。
  2. Secrets、APIキー、token、.env、個人情報が差分やログに出ていないか見る。
  3. 必要な場合は値を停止または再発行し、影響範囲を整理する。
  4. 変更は小さなbranchとPRに分け、CIとreviewで確認する。

CodexやAI作業時の注意

AIに作業を渡す時は、対象ファイル、触らないファイル、確認項目を明記します。認証情報や実際のキー値は本文、Issue、PR説明、ログ、レポートに残さないようにします。

公式情報で確認する領域

Actions、Secrets、PR、repository visibility、workflow permissionsは仕様が変わることがあります。実作業前にはGitHub Docsで最新の説明を確認してください。

向きを取り違えないための覚え方

2つの操作は、自分の手元とサーバーのどちらを基準にするかが逆なだけです。名前で覚えようとすると毎回迷うので、向きで覚えてください。

  • 送る:手元の変更をサーバー側へ反映する。他の人に見える状態になるのはこちら
  • 取り込む:サーバー側の変更を手元へ持ってくる。手元が書き換わるので、作業中のものがあると衝突します

迷った時の指針は単純で、作業を始める前に取り込む、終わったら送るです。この順番を守るだけで、衝突の大半は起きません。逆に、送る前に取り込んでいないと、他の人の変更を巻き戻す形になってしまいます。

衝突が起きた時に慌てない

同じ場所を自分と他の人が同時に直すと衝突します。これは失敗ではなく正常な通知で、システムが「どちらを採るか決めてください」と聞いている状態です。

やってはいけないのは、内容を見ずにどちらかを選んで進めることです。相手の変更を消してしまいます。手順としては、まず両方の内容を読む、次に両方必要なら手で書き足して両立させる、判断が付かなければ相手に聞く。時間はかかりますが、消してしまうより確実に速いです。

1人で使っていて衝突が出る場合は、別の端末や別の画面から変更が入っています。どこで作業したかを思い出してから進めてください。

関連ページ