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

ここまででGitリポジトリの作成とコミットの方法を学びました。
次は、ローカルリポジトリの変更をリモートリポジトリにプッシュする方法を学びましょう。

リモートリポジトリとは?

リモートリポジトリとは、インターネット上に存在するGitリポジトリのことです。
リモートリポジトリは、複数の開発者が共有して使用するための場所であり、GitHubやGitLabなどのサービスが提供しています。

今回はGitHubを使用してリモートリポジトリを作成し、ローカルリポジトリの変更をプッシュする方法を学びます。

GitHubのアカウントを作成しよう

GitHubのアカウントをまだ作成していない場合は、GitHubの公式サイトからアカウントを作成してください。

GitHubは有料のプランもありますが、個人での使用やオープンソースプロジェクトの管理には無料プランで十分です。
無料のプランでアカウントを作成しましょう。

GitHubの認証を設定しよう

GitHubのアカウントを作成したら、GitHubの認証を設定します。
ここからGitHubのリモートリポジトリにアクセスするための認証情報を設定します。
あなたのアカウントのリポジトリに、他の誰かがアクセスして不正に取得したり、変更されたりしたら大変ですよね?
皆さんが普段使っているサービスのログインと同じような処理をしていきます。

認証

Homebrewを使ってGitHub CLIをインストールする

GitHub CLIを使うと、コマンドラインからGitHubの操作ができるようになります。
Homebrewを使ってGitHub CLIをインストールしましょう。
まずはHomebrewがインストールされているか確認します。
ターミナルで次のコマンドを実行してください。

Terminal window
brew --version

次のようにバージョン番号が表示されれば、Homebrewはすでにインストールされています。

Terminal window
Homebrew 3.6.0

もしHomebrewがインストールされていない場合は、次のコマンドを実行してインストールしてください。

Terminal window
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrewのインストールが完了したら、次のコマンドを実行してGitHub CLIをインストールします。

Terminal window
brew install gh

GitHub CLIのインストールが完了したら、次のコマンドを実行してGitHubにログインします。

Terminal window
gh auth login

次のようなプロンプトが表示されるので、GitHubを選択してください。

Terminal window
? Where do you use GitHub? [Use arrows to move, type to filter]
GitHub.com
Other

次にProtocolを選択するのですが、GitHub CLIはHTTPSを使用することをおすすめします。

Terminal window
? What is your preferred protocol for Git operations on this host? [Use arrows to move, type to filter]
HTTPS
SSH

次にログイン方法を聞かれます。Login with a web browserを選択してブラウザでログインしましょう。

Terminal window
? How would you like to authenticate GitHub CLI? [Use arrows to move, type to filter]
Login with a web browser
Paste an authentication token

もう一度Enterを押すと、ブラウザが開いてGitHubのログイン画面が表示されます。
ターミナルに表示されているコードをコピーして、ブラウザのログイン画面に貼り付けて認証を完了します。

これでGitHub CLIの認証が完了しました。
これでローカルリポジトリからリモートリポジトリにプッシュする準備が整いました。

認証完了

リモートリポジトリを作成しよう

GitHubにログインしたら、リモートリポジトリを作成します。

画面右上の「+」アイコンをクリックし、「New repository」を選択します。

リモートリポジトリの作成

Create New Repository

リポジトリですが、複数のリポジトリを作成することができます。

GitHubリポジトリ

ひとつのアカウントは複数のリポジトリを持つことができて、アカウントごとにリポジトリを管理できます。

GitHubリポジトリ

リモートリポジトリの設定

リポジトリを作成したら、リモートリポジトリの設定を行います。
次の画面に遷移します。
2つのオプションが表示されます。

リポジトリの設定

...or create a new repository on the command lineは、コマンドラインから新しいリポジトリを作成するための手順を示しています。
...or push an existing repository from the command lineは、既存のローカルリポジトリをリモートリポジトリにプッシュするための手順を示しています。
今回はすでにローカルリポジトリが存在するので、
...or push an existing repository from the command lineの手順を実行します。
コピーボタンをクリックして、表示されているコマンドをコピーします。

ここではgithubのユーザー名がihatov08、リポジトリ名がgit-practiceであることを前提に、コマンドをひとつひとつ説明、実行していきます。

リモートリポジトリのURLを設定する

次のコマンドではリモートリポジトリのURLを設定しています。
git remote addコマンドを使用して、リモートリポジトリの名前とURLを指定します。
addの次に指定しているoriginは、リモートリポジトリの名前です。
originは原点や起点を意味し、デフォルトで使用されるリモートリポジトリの名前として一般的に使用されます。
たとえばgithubなど別の名前を指定することもできますが、慣習的にoriginがよく使われます。

Terminal window
git remote add origin https://github.com/ihatov08/git-practice.git

ブランチ名をmainに変更する

git branch -M mainは、ローカルリポジトリのブランチ名をmainに変更するコマンドです。
Gitにはブランチという機能があります。この機能については後ほど詳しく学びますが、ここではリモートリポジトリのデフォルトブランチ名をmainに設定するために使用します。

Terminal window
git branch -M main

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

次のコマンドでは、ローカルリポジトリの変更をリモートリポジトリにプッシュしています。
-uオプションは、今後のプッシュやプル操作でデフォルトのリモートブランチを設定するために使用します。
これにより、次回以降はgit pushgit pullコマンドを実行するだけで、リモートリポジトリにプッシュやプルができるようになります。

Terminal window
git push -u origin main

次のようなメッセージが表示されれば、リモートリポジトリへのプッシュは成功です。

Terminal window
git push -u origin main
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 16 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (6/6), 526 bytes | 526.00 KiB/s, done.
Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/ihatov08/git-practice.git
* [new branch] main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.

リモートリポジトリの確認

リモートリポジトリにプッシュが成功したら、GitHubのウェブサイトでリモートリポジトリを確認しましょう。

※ihatov08/git-practiceは、皆さんのGitHubアカウントに置き換えてください。

https://github.com/ihatov08/git-practice

次のような画面が表示されれば、リモートリポジトリの作成とプッシュは成功です。

リモートリポジトリ