ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-03-02. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

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

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

ここには以下の内容があります:

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

  • リモート名。たとえば origin
  • ブランチ名。 たとえば master

例:

git push  <REMOTENAME> <BRANCHNAME> 

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

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

ブランチの名前を変更する場合も、同じ 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> 

コロンの前にスペースがあることに注意してください。 このコマンドは、ブランチの名前を変更するときと似ています。 ただしこちらでは、REMOTENAMEBRANCHNAME何もプッシュしないよう Git に指示しています。 そのため、git push によってリモートリポジトリのブランチが削除されます。

リモートとフォーク

GitHub では、リポジトリを「フォーク」できることをご存じでしょう。

自分が所有しているリポジトリをクローンするとき、リモート URL を指定すると、更新をフェッチおよびプッシュする対象を Git に指示することができます。 元のリポジトリとのコラボレーションが必要な場合は、ローカルの Git クローンに新しいリモート URL を追加するといいでしょう。その名前は通例、upstream です。

git remote add upstream  <THEIR_REMOTE_URL> 

これで、更新とブランチをそのフォークからフェッチできるようになります。

git fetch upstream
# 上流のリモートブランチを取得
> 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://hostname/octocat/repo
>  * [new branch]      master     -> upstream/master

ローカルの変更が終わったら、ローカルブランチを GitHub にプッシュし、プルリクエストを開始することができます。

フォークの扱いに関する詳細は、「フォークを同期する」を参照してください。

参考リンク