git push コマンドでリモートリポジトリへプッシュする方法

git push コマンドでリモートリポジトリへプッシュする方法

Gitコマンドの一つ、git push はローカルリポジトリに記録した変更内容をリモートリポジトリに反映するコマンドです。Gitを使う上で最も基本的なコマンドの一つで、変更内容を記録する過程で最終的に必要となるコマンドですので初心者の方は覚えておきましょう。

目次

git push とは

Gitで変更履歴を保存する流れは下記のようになります。

作業ディレクトリ
↓ git add
ステージングエリア
↓ git commit
ローカルリポジトリ
git push
リモートリポジトリ

このうちファイルの変更内容をローカルリポジトリからリモートリポジトリに反映するコマンドが git push です。

git push の使い方

実際に git push コマンドを使ってみましょう。

sample.html というファイルをコミット済みのローカルリポジトリを用意しておきました。

もしまだリモートリポジトリを追加していない場合は下記のコマンドで追加しましょう。

git remote add origin 追加したいリポジトリのアドレス.git

登録されているリモートリポジトリは下記のコマンドで確認できます。

git remote -v

git push コマンドを実行してローカルリポジトリに記録した変更内容をリモートリポジトリに反映してみます。

git push origin master

git pushのあとのorigin masterは origin というリモートリポジトリの master というブランチにプッシュするという意味です。

初めてGitHubなどのホスティングサービスに用意したリモートリポジトリにプッシュする際はユーザー名とパスワードが尋ねられますので入力しましょう。

これでローカルリポジトリの内容をリモートリポジトリにプッシュすることができました。

git push で使用可能なオプション

git push コマンドにつけられるオプションには下記のようなものがあります。

オプションによってはすべてのファイルを無理やり上書きすることも可能な危険なものもあるのでよく理解して使用しましょう。

変更点をpushする

git push リモートリポジトリのパス ローカルのブランチ名 : リモートのブランチ名(正しくは特殊変数refspec)

正しくは上記のように記述しますが、ローカルのブランチ名とリモートのブランチ名が同じときは省略して指定することができます。

前述の例ではどちらのブランチ名もmasterだったため「git push origin master」と省略して記述することができました。

git push を強制する

git push -f origin master
git push --force origin master

コンフリクトが発生する場合でも強制的にプッシュを行い、リモートリポジトリの内容を上書きします。

ローカルの履歴がリモートよりも新しいときだけ push を強制する

git push --force-with-lease origin master

上流ブランチを設定する

git push -u origin maste
git push --set-upstream origin master

同名の上流ブランチを設定できます。

指定したブランチを削除する

git push origin --delete ブランチ名

すべてのブランチを push する

git push --all origin

リモートに存在しないブランチを削除する

git push --prune origin

ローカルにのみ存在し、リモートに存在しないブランチを削除します。

すべてのタグを push する

git push --tags origin
このエントリーをはてなブックマークに追加

コメントを残す

頂いたコメントは一読した後表示させて頂いております。
反映まで数日かかる場合もございますがご了承下さい。