Menu
Coddy logo textTech

Git Push

最終更新

git push は、ローカルブランチのコミットを対応するリモート(GitHub など)にアップロードします。ブランチに upstream が設定されていれば、単純な git push だけで十分です。新しいブランチの最初のプッシュでは -u を使ってリモートブランチを作成し、追跡を設定するので、以降のプッシュやプルには引数が不要になります。

これらをターミナルプレイグラウンドで試してみましょう。ブラウザ上の本物のシェルで、インストール不要です。

git push は新しいローカルコミットをリモートブランチへアップロードします。

構文

CommandWhat it does
git push現在のブランチを upstream にプッシュする
git push -u origin feature新しいブランチをプッシュし upstream を設定する
git push origin main特定のリモートとブランチにプッシュする
git push --tagsローカルのタグをすべてプッシュする
git push --force-with-leaserebase 後に安全に force push する

よくあるケース

GoalCommand
まったく新しいブランチをプッシュするgit push -u origin feature
upstream 設定後にプッシュするgit push
単一のタグをプッシュするgit push origin v1.0.0
リモートブランチを削除するgit push origin --delete feature

git push よくある質問

新しいブランチをリモートにプッシュするには?
git push -u origin <branch> を実行します。-u--set-upstream の短縮形)はリモートにブランチを作成し、ローカルブランチをそれに紐付けるので、以降は引数なしの git pushgit pull が動作します。リモートブランチはこの最初のプッシュまで存在しません。
git push が 'no upstream branch' と表示するのはなぜ?
ローカルブランチがまだリモートブランチに紐付いていないためです。git push -u origin <branch> でプッシュしてリモートブランチを作成し、upstream を設定してください。その後は git push だけでコミットの送信先がわかるようになります。
タグをプッシュするには?
タグはデフォルトではプッシュされません。単一のタグは git push origin <tagname> で、すべてまとめては git push --tags でプッシュします。これはよくある落とし穴です。ローカルで作成したタグは、明示的にプッシュするまでリモートには現れません。
安全に force push するには?
履歴を書き換えた後(rebase や amend)は、--force ではなく git push --force-with-lease を使いましょう。最後の fetch 以降に他の誰もプッシュしていない場合にのみリモートを上書きするので、チームメイトの作業を守れます。詳しい説明は git force push のページを参照してください。
これをオンラインで練習できますか?
はい。ターミナルプレイグラウンドを開けば、ブラウザ上の本物のシェルで git push を実行できます。インストールは不要です。Coddy の無料のインタラクティブな Git コースでも、リモートの扱いを段階的に学べます。
Coddy programming languages illustration

Coddy で Git を学ぼう

始める