この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、CX事業本部の岡です。
みなさんGitクライアント何使ってますか?
SouthTree?GitUp?Github Desktop?
GUIクライアントももちろん素晴らしいですが、CUIクライアントの方がなんだかんだ使いやすかったりしますよね。
今日はGitコマンドを快適に使う為の設定方法をご紹介します。
認証設定
プロジェクトによってGitHubを使ったりCodeCommitを使ったりするので credential
の設定はlocalで管理するようにします。
GitHub
GitHubにHTTPS経由でアクセスする場合、毎回認証情報を求められるので osxkeychain
を使って
認証情報を記憶させます。
brewでgitをインストールしている場合は標準で入っていると思います。
$ git config --local credential.helper osxkeychain
ローカルの設定ファイルの、originの@github.comの前にユーザー名を追加します。
$ git config --local -e
[origin]
https://<user-name>@github.com/<account-name>/<repository-name>.git
account-name
はteamリポジトリであればteam名、個人アカウントであればユーザー名です。
一回パスワードを入力すればOKです。
CodeCommit
AWS CLIのプロファイルを以下とします。CLIの設定方法はここでは割愛します。
MFAデバイス設定済でスイッチロールでアクセスする場合のプロファイルになります。
[profile oka_source]
region = ap-northeast-1
mfa_serial = arn:aws:iam::<source-account-id>:mfa/<role-name>
output = json
[profile oka_switch]
region = ap-northeast-1
role_arn = arn:aws:iam::<switch-account-id>:role/<role-name>
source_profile = oka_source
output = json
スイッチ元アカウント: oka_source
スイッチ先アカウント: oka_switch
ローカルの設定ファイルを開きます。
$ git config --local -e
credential
セクションに以下を記述します。
[credential]
helper = "!aws codecommit credential-helper --profile oka_switch $@"
UseHttpPath = true
oka_sourceのMFAのワンタイムパスワードを求められるので入力します。
ワンタイムパスワードは毎回入力せざるを得ないので、私は1passwordを使ってショートカットでデスクトップアプリを起動してコピペしてます。
1Password CLIを使ってターミナルに表示させる方法もあるので、参考にしてみてください。
エイリアス設定
エイリアス設定に関しては弊部の藤井の記事で紹介されているのでこちらをパクります。
[alias]
br = branch
mg = merge --no-ff
cp = cherry-pick
lg = log --oneline
ad = add -u
cm = commit -m
sw = switch
swc = switch -c
rs = restore
rss = restore --staged
checkoutの代わりにGitの2.23.0から追加された switch
と restore
を追加してみました。
設定方法については割愛しますので上記の記事を参照してください。
エイリアス設定(bash)
ついでにbashのエイリアスでgitコマンドをgで打てるようにします。
$ vi ~/.bash_profile
以下を追記
alias g="git"
$ source ~/.bash_profile
こんな風に打てるようになります。
設定前
$ git log --oneline
設定後
$ g lg
246exxx (HEAD -> feature/hoge, origin/feature/hoge) Merge
458cxxx アラートを追加
10d9xxx エラーハンドリングを追加
eae1xxx バリデーション修正