Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

コミットをリモートリポジトリにプッシュする

ローカル ブランチで実行されたコミットをリモート リポジトリにプッシュするには、git push を使用します。

git push のバージョン情� �

git push コマンドは 2 つの引数を取ります。

  • リモート名 (例: origin)
  • ブランチ名 (例: main)

次に例を示します。

git push  <REMOTENAME> <BRANCHNAME> 

たとえば、通常、ローカルの変更をオンライン リポジトリにプッシュするために git push origin main を実行します。

ブランチの名前を変更する

ブランチの名前を変更する� �合も、同じ git push コマンドを使いますが、新しいブランチの名前という引数をもう 1 つ追� します。 次に例を示します。

git push  <REMOTENAME> <LOCALBRANCHNAME>:<REMOTEBRANCHNAME> 

これは LOCALBRANCHNAMEREMOTENAME にプッシュしますが、名前は 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 に REMOTENAMEBRANCHNAME何も プッシュしないように指示しています。 このため、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 を開始できます。

フォークの操作の詳細については、フォークの同期に関する記事を参照してく� さい。

参考資料