プッシュとは?
プッシュは、ローカルリポジトリで作成したコミットを、GitHubなどのリモートリポジトリへ送る操作です。自分のパソコン内だけにあった履歴を、共有先へ反映します。
GitHub Desktopの「Push origin」やコマンドのgit pushがこの操作です。送信先のリモートと、どのブランチを更新するかが対象になります。
コミットとの違い
- コミット:変更をローカルのGit履歴へ記録する
- プッシュ:記録済みのコミットをリモートへ送る
ファイルを保存しただけ、またはコミットしただけでは、通常GitHubの内容は変わりません。逆に、プッシュするものがなければ新しい変更は送られません。
プッシュしても必ず公開されるわけではない
GitHubへプッシュすることと、Webサイトやアプリを利用者へ公開するデプロイは別の操作です。ただし、mainブランチへのプッシュをきっかけに自動デプロイする設定もあります。
自動化されたプロジェクトでは、どのブランチへのプッシュがテストや公開を動かすのか確認してください。
拒否されたときに強制しない
ほかの人が先にリモートを更新していると、通常のプッシュが拒否されることがあります。これは履歴を誤って上書きしないための保護です。
まずリモートの変更をプルまたはフェッチして差分を確認します。意味を理解しないまま強制プッシュすると、共有履歴を失うおそれがあります。
originは、多くの場合クローン元のリモートリポジトリにつく標準的な名前です。Push originは「originという共有先へ送る」という意味で、GitHubそのものを表す固定語ではありません。複数のリモートが設定されているプロジェクトでは、送信先を特に注意して確認します。
作業ブランチを初めてプッシュするときは、ローカルとリモートの対応関係を設定する場合があります。以後は短い操作で送れるようになりますが、現在のブランチを確認する習慣は変わりません。