← 用語集一覧へ戻る

プッシュ(git push)

git push
version-control beginner
ローカルリポジトリのコミット履歴をGitHubなどのリモートリポジトリに送信・反映するコマンドのこと。
プッシュ(git push) (git push)

概要(サマリー)

プッシュ(git push)とは、自分のパソコン(ローカル)で行ったコミットを、GitHubなどのリモートリポジトリに送信・反映するコマンドのことである。

コミットはいわば「ローカルでの保存」だが、そのままでは自分のPC上にしか存在しない。git push をすることで、その変更内容がリモートにアップロードされ、チームメンバーと共有できるようになる。バックアップの意味でも、「作業が終わったらgit pushする」という習慣は非常に重要だ。

詳細解説

git push とは何か

Gitでのコード管理は「ローカル(自分のPC)」と「リモート(GitHubなど)」の2か所で行われる。

ローカルの流れ:
  ファイル編集 → git add → git commit(ローカルに保存)

リモートへの反映:
  git commit → git push(リモートへ送信)

git push は「ローカルのコミット履歴をリモートに送る」最後のステップだ。プッシュして初めて、GitHub上で変更が反映され、他のメンバーも確認できるようになる。

基本的な使い方

# 基本形(現在のブランチをリモートのoriginに送る)
git push origin ブランチ名

# main ブランチをプッシュする場合
git push origin main

# 現在チェックアウトしているブランチと同名のリモートブランチにプッシュ
git push

origin はリモートリポジトリの別名(エイリアス)で、git clone したリポジトリでは自動的に設定される。

初めてのブランチをプッシュする場合

新しく作ったローカルブランチを初めてリモートに送る場合は、--set-upstream(または -u)オプションをつける。

git push -u origin feature/login

-u をつけることで、次回から git push だけで同じブランチに送れるようになる。

git push の流れ(全体像)

① ファイルを編集する
② git add .        (変更をステージング)
③ git commit -m "メッセージ"  (ローカルにコミット)
④ git push origin main        (リモートへ送信)

この4ステップが基本的なGitでの作業の流れだ。ブランチを使った開発では、ブランチ名を変えてプッシュし、プルリクエストを作成してレビューを受ける流れになる。

強制プッシュについて

# 強制プッシュ(危険!原則使わない)
git push --force

--force オプションをつけると、リモートの履歴を上書きできる。ただし、チームで使っているリポジトリで強制プッシュをすると他のメンバーの作業を消してしまう危険がある。基本的には使用しない。

AIコーディングとの関係

AIがコードの修正や新機能の追加を行った後、その変更を保存・共有するためには git push が欠かせない。また、プルリクエストを使ったレビュー文化を持つチームでは、ブランチに変更をプッシュしてからPRを作成するという流れが標準だ。

AIへの効果的な指示の例:
- 「このブランチで作業が終わったのでプッシュしたいです。手順を教えてください」
- 「git push をしたら rejected というエラーが出ました。原因と対処法を教えてください」
- 「feature/login というブランチを新規作成してリモートにプッシュする手順を教えてください」
- 「プッシュ後にプルリクエストを作成する手順をGitHubで説明してください」

よくある勘違い

git push = git commit?

git commit はローカルへの保存、git push はリモートへの送信と、役割が明確に異なる。「コミットしたのにGitHubに反映されない」という状況は、pushを忘れているケースがほとんどだ。

push したら取り消せない?

push 後にコミットを取り消すことは技術的には可能だが、チームで開発している場合は他の人に影響が及ぶため、基本的には慎重に行う必要がある。個人リポジトリや作業中のブランチであれば比較的自由に操作できる。

rejected エラーはなぜ起きる?

git pushrejected になる最も多い原因は「リモートに自分のローカルにない新しいコミットがある」ケースだ。この場合はまず git pull でリモートの変更を取り込み、コンフリクトを解消してから再度pushする。

まとめ

  • git pushとは、ローカルのコミット履歴をリモートリポジトリに送信するコマンドのことである
  • pushして初めて変更がGitHub上に反映され、チームと共有できるようになる
  • 基本的な流れは「add → commit → push」の3ステップ
  • 新しいブランチを初めてプッシュするときは -u origin ブランチ名 オプションが必要
  • rejected エラーは git pull で解消できることが多い

情報ソース

より詳しくAIに聞いてみよう

  • git push と git commit の違いを、初心者でもわかるように説明してください。
  • git add → git commit → git push の流れを、具体的な操作手順で説明してください。
  • git push が rejected になったときの原因と対処法を教えてください。
  • ブランチを新規作成して初めてプッシュするときの手順を教えてください。
  • AIコーディングで「コードができたのでGitHubに反映したい」とき、どんな手順で進めればよいですか?