はじめに
こんにちは、やしまです。
そもそもHomebrewを入れたのは git を入れるため(もちろん今後めっさ働いてもらうけど)ってことで git を入れます。
前提
まずはHomebrewはインストールされていること。
そして最新版になっていること。( brew update
済み)
とりあえず自分のgitリポジトリにアクセスするのでGitHubのアカウントは持っていること。
BitBucketはGitHubを同じような感じなので今回は省略します。
やったこと
gitのインストール
とりあえずMacにはデフォルトで git が入ってるとのことで、今の git のバージョンを確認しておく。
git -v
※ このコマンドはあとでも使うのでよろしく
そしてHomebrewを入れたので、よく考えずに以下のコードを叩く。
brew install git
そして git のバージョン確認。
ここでインストールする前からMacに入ってた git のバージョンが出てきたら、それは今のシェルが最新のパスを認識してないだけ(のはず)
なので新しいシェルを立ち上げるなりしてバージョン確認のコマンドを叩き、思ったバージョンが表示されることを確認。
git version 2.50.1
今回はこんなバージョンになりました。
gitの設定
とりあえずユーザ名とe-mailを
git config --global user.name "${USER_NAME}"
git config --global user.email "${USER_EMAIL}"
※ 環境変数なところは適切な値にする
そして個人的な git command のエイリアスを設定
git config --global alias.st "status"
git config --global alias.br "branch"
git config --global alias.co "checkout"
git config --global alias.cob "checkout -b"
git はコマンドで操作する自分はこれがホント大事なのです。
gitの設定
git(とか)の補完設定もしておく。
Tabキーでコマンドが補完されると便利ですよね(むしろ補完されないのはもう無理)
いろんな方法がありそうだけど、せっかくHomebrew入ってるのでこれを使う方法で。
まずは補完用パッケージのインストール。
brew install git zsh-completions
そしてインストール時に表示されるよう、それが有効になる設定を。
.zshrc
に書けとのことだけど .zprofile
でもタイミングとかの違いなので後者で行きます。(zsh用のcronで動くバッチとか書く予定があったら気にしてください)
そして確認とかめんどくさいのでオプションをちょっとアレンジして以下を .zprofile
に追加。
if type brew &>/dev/null; then
FPATH=$(brew --prefix)/share/zsh-completions:$FPATH
autoload -Uz compinit
compinit -u
fi
※ compinitコマンドに -u つけてます
書いたものをすぐに有効にするためシェルに読み込む。
source ~/.zprofile
読み込んだらインストール時に表示されたよう、以下を実行。
rm -f ~/.zcompdump; compinit
ここではcompinitコマンドに -u がついてないので確認されますが、当然のようにyesです。
SSH鍵の作成
GitHubへコマンドからアクセスするための設定を行います。
まずはSSHで繋ぐためのキーペアを作成します。
自分用のキーペアをすでに作って持っていたら、この作業はスキップしてOKです。
ホームディレクトリに .ssh
ディレクトリを作成。
lsコマンドの結果に @
が表示されないように所有者を変えてもいいですが、自Macだし変える必要はないので省略します。
mkdir ~/.ssh
ディレクトリのアクセス権限を自ユーザ以外はアクセスできないように変更します。
chmod 700 ~/.ssh
もしかしたらディレクトリの権限変更は不要かもしれませんが、このあたりの権限を設定しないで繋がらないことが経験上多々あったので、もうやってしまいます。
真実を知りたい方がいましたら、ぜひ調べて結果をご連絡いただけると。
先ほど作ったディレクトリにキーペアを作成します。
ssh-keygen -t rsa -b 4096 -f id_rsa_mba
id_rsa_mba
は作成するファイル名で、指定しないとデフォルトの id_rsa
になります。
私はAWSでEC2を立てたときとかにキーペアを配布されたことがあったので、わかりやすい(というか区別がつきやすい)名前にしています。
そして秘密鍵のアクセス権限を自ユーザ以外はアクセスできないように変更します。
chmod 600 ~/.ssh/id_rsa_mba
この権限変更は必須です。
権限変更しておかないと、アクセス時に秘密鍵を読み取ってくれません。
結果、こんな感じになります。
$ ls -l ~/.ssh | grep id_rsa_mba
-rw-------@ 1 yashima staff 3401 8 4 19:46 id_rsa_mba
-rw-r--r--@ 1 yashima staff 760 8 4 19:46 id_rsa_mba.pub
ここでも名前出ちゃってますが、まあ気にしないでおきます。
GitHubへの登録
作った(自分の)キーペアをGitHubのアカウントと紐づけます。
画面を切り貼りするのはめんどくさい(GitHubだし貼らないでもわかりやすいはず)ので文字だけです。
以下の手順でSSHKeyを追加します。
- ブラウザで GitHub へアクセス(そしてログイン)
- 右上(たぶん)の自アイコンからSettingsを選択
- 左のリストから
SSH and GPG keys
を選択 -
こんな画面 に行くので
New SSH key
をクリック - キーペアに関する情報を入力して
Add SSH key
をクリック- タイトルは何のキーペアか後から見てわかりやすいように
- key type はそのまま Authentication key
- Keyはあとから説明します
- たぶん2段階認証の何かを求められるので入力して完了
Keyの説明
ここでは公開鍵の中身を貼り付けます。
プレースホルダに書いてあるような内容になっているので、間違って秘密鍵を貼り付けないようにします。
私は cat コマンドで出力して、それを貼り付けています。
cat .ssh/id_rsa_mba.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC78RJJMzTq5zkJt7i6o/qlaat3fyrqB2Un9WhR5MHqzD8WGyp07mOSYzJQxiXxK8qzw4aI0O4wCs+rkFin6Gu3+PcKTznm/jovW/SZGPhhCvLHzRyHbcPtw2nmuEL4PrdWUn9Ma4eiXv/1lApqFEWPLDuJnVtAALWHEOpmFNsEHFcI7Pitv7Sc1bwuwxb8yY/Zo2gDI45MuBOM4mAECXGI1o/SaiU2Vt/CWVWoizIrWf513opi/s126IWwpm/35kkmx18eHcHh8/11Q5CoQmkf+cc7OxeGznyWZj7FnwlYRn75V91SyYyyPxFL/YSbVRiXeClE+IoBFl3FN5LwVIX3Guc1nR5K7J7j5GPaOv7IMhmSrP/Kono/Koukaikagiha/Damii/Desu/99tKYbJ6UMwmknyYgtblXxBGSLsJp+9y5PDD0GCCW6FT1kggjnpCJEYTEI7ylQ9FJi/j7XqhSt3ujInJoj+DnUdbYuuHSWi/GK6XgxMTRjOhz5KrHH1Ef8TqDxJvLuUjhUeaGQY4oVf11HPw99PADNKBIW9VItrjVPo+agiFPKEAqZIs88Wb0fU818nlGgJ2dr02VW3BQTyY0ZYYJO/nWysz3sLBHgyc6/kKSxX7jDFEL/BKI+kiVR3CzNgXkrlyS4IWCBaLm/ghXDxYYxCgoCFN25dunw== user@machine-name.local
こんな感じの出力結果なので、コマンドの次の行から次のプロンプトの前までコピーして貼り付けます。
ここでは1行で表示されてると思いますが、ターミナルだと複数行にまたがって表示されると思います。
複数行でも改行は入っていないので、無視してコピーでいけるはずです。
SSHの接続設定
SSHで接続する際に、どの秘密鍵を使うかを設定します。
設定はキーペアも置いた .ssh
ディレクトリの config
というファイルに記載します。
vi ~/.ssh/config
※ このファイルの権限は気にしないでも大丈夫らしいですが、いちおう他ユーザはアクセスできないようにしておいたほうが良いと思います(必要ではないのでコマンドは上の方を参考に)
各設定項目に細かい理由はありますが、それぞれの説明は省略します。(実はよくわかっていない項目もあるし、やりすぎな感じがするので)
というわけで以下のように設定しました。
Host *
UseKeychain yes
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa_mba
TCPKeepAlive yes
IdentitiesOnly yes
GitHubへのアクセス
GitHubのリポジトリでCodeをクリックするとClone用のリポジトリURLを表示することができます。
ここでSSHを選択するとSSH用のリポジトリURLが表示されるので、それを使います。
こんな感じです。
git clone git@github.com:${REPOSITORY_OWNER}/${REPOSITORY_NAME}.git
これでアクセスできれば設定はOKということです。
※ 初めてアクセスする際には信用していいサイトかどうか確認されますが、当然のようにyesとして進みます
終わりに
とりあえず的ですが git を入れて開発できるようになった(別PCとのソース共有ができるようになった)ので、初期設定系はここでいったん終わりになるのかなと思っています。
もし次があれば、何か技術的なことになるのかなと夢見ながら今回はここで終わりです。
ではでは。