GitHubにpushするまでの初期設定流れ
慣れてないと忘れがちなのでメモ。
Index
はじめに
以下は済んでいるものとしての流れです。
公開鍵・秘密鍵は別でまとめようと思います。
- GitHubアカウント作成済み
- 公開鍵・秘密鍵も作成済み
- GitHub上でリモートリポジトリを作成 → ローカルリポジトリ作成 → pushする流れ
リポジトリとは
簡単にリポジトリの説明だけ。
リポジトリ(repository)
リポジトリは、バージョン管理システム(Git)では、ソースコードやディレクトリ構造のメタデータを格納するデータ構造、要はフォルダ一式のこと。
直訳すると「収納[保存]、場所、倉庫」なので直感的にもあってて、個人的には「博物館、美術館」という訳の意味が知の集まるところみたいな印象で好きな表現です。
リモートリポジトリ(remote repository)
リモートリポジトリとは、Gitなどで管理しているファイル群を、ネットワーク上のサーバで運用、保管、管理するリポジトリのことを呼びます。
ネットワーク上で管理されているので複数人で共有することが可能で、全員が同じバージョンのコードを扱えます。リモート(remote: 遠くの、遠隔の)なので、こちらも直感的にしっくりきます。
ローカルリポジトリ(locale repository)
ローカルリポジトリは、リモートリポジトリとは逆に自分のPC上でGitなどを使用して管理しているリポジトリのことを呼びます。
ローカル(local: 地元の、現地の)なので、自分個人のリポジトリという意味ですね。
初期設定流れ
1.リモートリポジトリの作成(GitHub側)
GitHubにログインして緑のNewボタンで新規リポジトリを作成
以下の入力を行いCreate repositoryでリポジトリを作成
- Repository name (作成するプロジェクトフォルダの名前)
- Description (プロジェクトの説明 ※無くてもいいけど、あった方がわかりやすい)
- Public / Private(一般ユーザーから見れる / 自分しか見れない)
- Add a README file(ローカル環境で作成するのでチェックをしない)
この表示が出れば成功です。
これで一先ずGithubにリモートリポジトリは作成出来ました。
2.ローカルリポジトリを作成(ローカル側)
次に、ローカル環境(自身のPC)にローカルリポジトリ(プロジェクトフォルダ)を作成します。
- ローカル環境でプロジェクトのフォルダを作成
フォルダ名はGithubで登録したRepository nameと同じにします - git initで現在いるフォルダ全体をGit管理できるようになります(初期化)
- README.mdの作成
- 最初のコミットメッセージを登録
$ mkdir [Githubに登録したリポジトリ名(プロジェクトフォルダ名)]
$ cd [Githubに登録したリポジトリ名(プロジェクトフォルダ名)]
$ echo "# test" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git branch -M main
$ ls -a
. .. .git README.md
3.リモートリポジトリとローカルリポジトリを紐付け
git remote add origin ~でローカルリポジトリとリモートリポジトリを紐付けます。
originがローカルリポジトリを指していて、その後に続くgit@~.gitまでがリモートリポジトリを示します。
$ git remote add origin git@github.com:[Githubのアカウント名]/[Githubに登録したリポジトリ名].git
紐付けを間違えた場合は、git remote rm git@~.git で関連付けを削除出来ます。
ちなみに、ローカルリポジトリ側からの連携を解除するだけで、Github上にあるリポジトリは消えません。
$ git remote rm git@github.com:[Githubのアカウント名]/[Githubに登録したリポジトリ名].git
git remote -vでローカルリポジトリに紐づいているリモートリポジトリの名前とURLを表示・確認します。
$ git remote -v
origin git@github.com:[Githubのアカウント名]/[Githubに登録したリポジトリ名].git (fetch)
origin git@github.com:[Githubのアカウント名]/[Githubに登録したリポジトリ名].git (push)
これでリモートリポジトリとローカルリポジトリの作成と紐付けが完了しました。
4.Githubアカウントをローカル環境に設定
1〜3まではリポジトリの紐付けを行っていましたが、ここではGitHubのアカウントをローカル環境に設定(紐付け)します。
アカウントを紐付けるというのは、例えば、GitHubのアカウントを複数持っていた時に、ここで異なるGitHubのアカウントを設定すると、pushした時に異なるアカウントからpushされることになるので注意。
$ git config --local user.name [Githubのアカウント名]
$ git config --local user.email [Githubに登録してるメールアドレス]
5.ローカルリポジトリからリモートリポジトリにSSH接続する
ローカルリポジトリからデータをpush(送信)したりリモートリポジトリからデータをpull(引っ張ってくる)するために接続情報を設定(紐付け)します。
ssh -Tに続く後ろの名前は ~/.ssh/confingにてそれぞれ定義しています。
SSHキー設定・SSH接続についてはこちらがわかりやすいです。
成功すると以下の表示になります。
$ ssh -T [任意のSSHの名前]
Hi [Githubのアカウント名]! You've successfully authenticated, but GitHub does not provide shell access.
6.ローカルリポジトリからリモートリポジトリにpush(データを送信)する
これでリポジトリの紐付けとアカウントの紐付け、更にSSHでの接続が完了したので、いよいよローカルリポジトリからリモートリポジトリへデータをpush(送信)します。
$ git push -u origin main
以下のように表示されれば成功です
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 217 bytes | 217.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:occiey/test.git
* [new branch] main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.
GitHubを見てみると正しくローカルリポジトリのデータがGitHubに登録されています。
まとめ
Git、GitHub、ローカルリポジトリ、リモートリポジトリなど色々あって細かく見ていくとややこしいですが、大きな流れで俯瞰すると意外とシンプルに理解できますね。使い慣れれば便利なバージョン管理ツールとなるのでおすすめです。というか、開発するなら必須です^^;
参考サイト