2017年頃だったと思いますが、Salesforce DXということで新しい開発環境が提供されるようになった際にGitHubをつかったプロジェクト管理の話も公開されました。
その頃にGitHubの使い方を勉強したりしたのですが時間が経って忘れてしまったので、GitHubをつかったApexコードの管理についてもう一度勉強してみました。
Git環境の構築
はじめにGitをインストールしてGitコマンドを実行できるようにします。
Gitの最新版はこちらのサイトからインストールできます。
Macの場合はHomebrewをつかった方法が紹介されていたので、Homebrewをつかってインストールしました。
Homebrewはこちらのサイトからインストールできます。
Homebrewをインストール後、下記のコマンドでGitをインストールできます。
$ brew install git
インストール後に最新のバージョンが適用されていない場合は、パスの設定が必要になるみたいです。下記の記事が参考になりました。
コマンドラインを開いて次のコマンドを実行します。
$ echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshenv $ source ~/.zshenv
これで「git --version」コマンドを実行するとインストールした最新バージョンが適用されていると思います。
Gitユーザ名とコミットメールアドレスの設定
最初にコマンドを実行してGitのユーザ名をセットします。
$ git config --global user.name "SAMPLE NAME"
正しく登録できたかの確認はこちらです。
$ git config --global user.name
同じくコミットメールアドレスもセットします。
$ git config --global user.email "email@example.com"
確認コマンドはこちらです。
$ git config --global user.email
これでGitの環境構築は完了です。上記の手順はこちらを参考にしました。
GitHub側の環境を用意
Gitの環境が準備できたらGitHub側の環境を用意します。
会社で管理する場合はそれぞれルールがあると思うので、個人用途として記載しますが普通のサービスと一緒にサインアップページで簡単にアカウントを作成できます。不明な点があればこちらで確認できると思います。
SSHキーの設定
SSHキーの設定を行います。詳細はドキュメントサイトにまとめられています。
SSHキー生成
ターミナルを開いて次のコマンドを実行するとSSHキーが作成されます。
$ ssh-keygen -t ed25519 -C "your_email@example.com"
Enter a file in which to save the keyというメッセージはファイルの保管場所を聞かれていて、エンターキーでデフォルト設定を反映します。その後にはパスフレーズを任意で決めて登録します。
SSH キーを ssh-agent に追加する
次のコマンドを実行します。ssh-agentが開始されるコマンドとのことです。
$ eval "$(ssh-agent -s)"
~/.ssh/config ファイルがデフォルトの場所にあるかどうかを確認します。
$ open ~/.ssh/config
does not exist.とメッセージが表示されてたらファイルが無い状態なので、次のコマンドでファイルを作成します。
$ touch ~/.ssh/config
再度、open ~/.ssh/configコマンドを実行するとファイルが開くので、下記の内容を追記します。
Host * AddKeysToAgent yes UseKeychain yes IdentityFile ~/.ssh/id_ed25519
最後にSSH 秘密鍵を ssh-agent に追加して、パスフレーズをキーチェーンに保存する作業を行います。
$ ssh-add -K ~/.ssh/id_ed25519
実行すると「Enter passphrase for XXXX」とメッセージが表示されるので、先程登録したパスフレーズを入力します。「Identity added: XXX」と表示されれば成功だと思います。
GitHubアカウントに新しいSSHキーを追加する
まずはSSH 公開鍵をクリップボードにコピーします。次のコマンドを実行すれば簡単にコピーできます。
$ pbcopy < ~/.ssh/id_ed25519.pub
GitHubにログインしてSettingsメニューのSSH and GPG keysから追加します。[New SSH key] または [Add SSH key] をクリックすると設定画面に移動できます。
Titleは任意です。どのPCかわかるような名前をつければ良さそうです。Keyの欄には先程のpbcopyでコピーした値を貼り付けます。Add SSH keyボタンを押せば登録完了です。(登録時にアカウントのパスワードを入力が必要になる場合もあります。)
上記の手順の詳細はこちら。
ここまでの作業でSSHキーの作成とGitHubへの登録が完了しました。SSH接続が正しく動作するかは次のコマンドを実行すればチェックできます。
$ ssh -T git@github.com
「You've successfully authenticated」と表示されれば成功です。「but GitHub does not provide shell access.」というメッセージは気にしなくて良いみたいです。