複数エンジニアの共同開発には欠かせないソースコードのバージョン管理システム。
GitとGitHubを使えるように準備していきます。
0. はじめに
本記事では、以下の前提で、環境を構築していきます。
OS:Mac OS Sequoia 15.4
パッケージ管理システム:Homebrew 4.5.0 ※インストール済み
バージョン管理システム(ローカル環境):Git
バージョン管理システム(サーバー環境):GitHub
接続方法:SSH接続
1. Git(ローカル環境)を導入
ローカル環境でのバージョン管理システムであるGitをインストールします。
ローカルにGitがインストールされているかどうかを、以下のコマンドで確認しておきます。
% git --version
git version 2.39.5 (Apple Git-154)
デフォルトでApple Gitが搭載されていることがわかりました。
本環境では、パッケージ管理をHomebrewに一元化したいため、Apple-GitからHomebrewでインストールしたGitへの切り替えを行なっておきます。まず、brew installでGitをインストールします。
% brew install git
.zshrcでGitパスの設定を追加します。
#.zshrc
export PATH=/usr/local/bin/git:$PATH
sourceコマンドで上の設定変更を反映したのち、再度、Gitのバージョンを確認してみます。
% git --version
git version 2.49.0
Appleの文字が消え、HomebrewのGitに切り替わっていることが確認できました。
2. GitHub(サーバー環境)に登録
サーバー上でのバージョン管理システムであるGitHubのアカウントを作成します。アカウント作成はこちらから。
▶︎GitHub公式:https://github.com
3. GitとGitHub間のSSH接続を設定
ローカル環境とサーバー上の管理システムを同期できるよう、公開鍵・非公開鍵のペアを使って接続するSSH接続の準備をしていきます。
さて、SSH鍵はユーザの~/.sshディレクトリに置かれています。まずは、ローカルPCに.sshが存在するかどうかを調べます。
$ cd ~/.ssh
cd: no such file or directory:/Users/username/.ssh
~/.sshディレクトリが存在していないことがわかりました。
この場合、~/.sshディレクトリを作成してください。次に、SSH鍵の生成が必要です。Mac OSの場合、以下のssh-keygen
コマンドを実行後、対話式プロンプトの指示に従って、ファイル名、任意のパスワードを2回入力して、SSH鍵を生成します。ここでは、生成するSSH鍵が、GitHub用の鍵だとわかるように、ファイル名をid_git_rsaとしておきます。
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/Users/(username)/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
これによって、SSH鍵が生成されます。
- id_git_rsa.pub:公開鍵(こちらの鍵をGitHubに渡します。)
- id_git_rsa:秘密鍵(公開してはいけない鍵)
最後に、GitHubのアカウントで、SettingからSSH keysの設定を開き、生成した公開鍵をコピー&ペーストして登録します。これでローカル(Git)とサーバー(GitHub)間のSSH接続の準備が整いました。
なお、SSH鍵の作成方法は公式でも詳細説明があったため、参考としてリンクを貼っておきます。
▶︎GitHub公式:https://docs.github.com/ja/authentication/connecting-to-github-with-ssh
4. Gitの初期設定
SSH接続を試みる前に、ローカル環境でGitの初期設定をします。
①SSH鍵の指定
先ほど生成したSSH鍵を、サーバー接続時に使う鍵として指定しておく必要があります。
これを、configファイルの中で指定することにします。configファイル=設定ファイルと覚えておけば問題ないでしょう。もう少し丁寧に言うと、configファイルは、ソフトウェアの動作の設定を定義するファイルで、主に変更する可能性の高い設定・パラメータを記述しておくもののようです。
具体的には、SSH鍵を作成した、~/.sshの配下にconfigという名前のファイルを作成し、以下のように記述をします。
#config
Host github github.com
HostName github.com
IdentityFile ~/.ssh/id_git_rsa
User git
3行目で、github.comに接続するときに使うSSH鍵のパスを指定することで、先ほど生成したSSH鍵を使って接続することになります。
②GitHubの登録情報との紐付け
ローカルのGitに、GitHubの登録情報を紐付けてあげる必要があります。
以下のコマンドで、HitHubに登録したユーザー名とemailアドレスを紐付けます。
% git config --global user.name <user name>
% git config --global user.email <user email>
以下のコマンドを打って、登録したユーザー名、emailアドレスが表示されれば、正しく紐付けされたことが確認できます。
% git config user.name
% git config user.email
5. SSH接続確認
接続できるか確認していきます。以下のコマンドでSSH接続。
% ssh -T github
Enter passphrase for key '/Users/username/.ssh/id_git_rsa'
パスワードの入力が求められるため、鍵を生成した際に設定したパスワードを入力します。
Hi <user name>! You've successfully authenticated, but GitHub does not provide shell access.
これで無事、SSH接続が認証されたことが確認できました!
余談ですが、SSH接続をするたびに、毎回パスワードを入力する仕様に支障がある場合は、SSH鍵を生成する際にそもそもパスワードを設定しない、もしくは、SSH鍵をssh-agentに追加しておく、という手があるようです。
SSH鍵のssh-agentへの追加方法は以下のリンク先を参照しました。
▶︎ GitHub公式:https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
実際にGitを使って、バージョン管理をする方法については、またどこかでまとめをしたいと思います。
次回は、プログラムを書くためのPython環境を導入していきます!