git push のバージョン情� �
git push コマンドは 2 つの引数を取ります。
- リモート名 (例: origin)
- ブランチ名 (例: main)
次に例を示します。
git push  <REMOTENAME> <BRANCHNAME> たとえば、通常、ローカルの変更をオンライン リポジトリにプッシュするために git push origin main を実行します。
ブランチの名前を変更する
ブランチの名前を変更する� �合も、同じ git push コマンドを使いますが、新しいブランチの名前という引数をもう 1 つ追� します。 次に例を示します。
git push  <REMOTENAME> <LOCALBRANCHNAME>:<REMOTEBRANCHNAME> これは LOCALBRANCHNAME を REMOTENAME にプッシュしますが、名前は REMOTEBRANCHNAME に変更されます。
"non-fast-forward" エラーに対処する
リポジトリのローカル コピーが同期されていない、つまりプッシュ先である上流リポジトリより古くなっている� �合は、non-fast-forward updates were rejected というメッセージが表示されます。
これは、ローカルの変更をプッシュする前に上流の変更を取得、つまり "フェッチ" する必要があるという意味です。
このエラーの詳細については、「non-fast-forward エラーの扱い」を参照してく� さい。
タグをプッシュする
デフォルトで、追� のパラメータを使わない� �合、git push はリモート ブランチと名前が一致するすべてのブランチを送信します。
1 つのタグをプッシュする� �合は、ブランチをプッシュするときと同じコマンドを発行できます。
git push  <REMOTENAME> <TAGNAME> すべてのタグをプッシュする� �合は、次のコマンドを使用できます:
git push  <REMOTENAME> --tagsリモートブランチまたはタグを削除する
ブランチを削除する構文は、1 回見た� けでは少し難解です:
git push  <REMOTENAME> :<BRANCHNAME> コロンの前にスペースがあることに注意してく� さい。 このコマンドは、ブランチの名前を変更するときの手� �と似ています。 た� し、ここでは Git に REMOTENAME の BRANCHNAME に 何も プッシュしないように指示しています。 このため、git push はリモート リポジトリ上のブランチを削除してしまいます。
リモートとフォーク
GitHub ではリポジトリを "フォーク" できることを既にご存じかもしれません。
自分が所有するリポジトリをクローンするときには、更新をフェッチしたりプッシュしたりする対象を Git にリモート URL で指定します。 元のリポジトリとのコラボレーションが必要な� �合は、ローカルの Git クローンに新しいリモート URL を追� するといいでしょう。その名前は通例、upstream です。
git remote add upstream  <THEIR_REMOTE_URL> これで、更新とブランチを その フォークからフェッチできるようになります。
git fetch upstream
# Grab the upstream remote's branches
> remote: Counting objects: 75, done.
> remote: Compressing objects: 100% (53/53), done.
> remote: Total 62 (delta 27), reused 44 (delta 9)
> Unpacking objects: 100% (62/62), done.
> From https://ホスト名/octocat/repo
>  * [new branch]      main     -> upstream/mainローカルでの変更が終わったら、ローカル ブランチを GitHub にプッシュし、pull request を開始できます。
フォークの操作の詳細については、フォークの同期に関する記事を参照してく� さい。