はじめに
この記事では個人的に便利・役に立ったgit関連のノウハウをメモっております。
定期的に追加・修正を行いメンテナスしたいと思っております!
1. GitHubにSSHで接続する
Pullやpushなど行う際に毎回ユーザーIDとパスワードの入力を求められます。GitHubにSSHで利用する公開鍵を登録する事で入力の手間を省けます。
手順
1.1. SSHキーを作成する
ssh-keygen
コマンドでSSHキーを作成します。
以下、オプションの詳細と補足になります。
・SSHキーのサフィックスはコマンド実行年月日となります。(2021年10月12日実行した場合、id_rsa.2021-10-12になる)
・-b バイト長
・-t 暗号化方式
・-C コメント
$ ssh-keygen -b 4096 -t rsa -f ~/.ssh/id_rsa.`date "+%Y-%m-%d"` -C $USER-`date "+%Y-%m-%d"`
Generating public/private rsa key pair.
Created directory '/Users/(ユーザー名)/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/(ユーザー名)/.ssh/id_rsa.2021-10-12.
Your public key has been saved in /Users/(ユーザー名)/.ssh/id_rsa.2021-10-12.pub.
The key fingerprint is:
SHA256:RtgqktRnBgenliUr52IXmBOkNaqIuJ+RB8vHb2zQjbk (ユーザー名)-2021-10-12
The key's randomart image is:
+---[RSA 4096]----+
| .= +.+ |
| + * X o |
|o * O = o |
|=. B = o |
|= * +..+S |
| + O..+.. |
|. = +o . |
| . = .E |
| o o. |
+----[SHA256]-----+
上記のコマンドを実行後に.sshディレクトリ配下に秘密鍵と公開鍵が作成されている事を確認。
.pub拡張子が付いているファイルが公開鍵となります(.pub拡張子がついていない方が秘密鍵)。
$ ls ~/.ssh/
id_rsa.2021-10-12 id_rsa.2021-10-12.pub
以下のコマンドでmacに秘密鍵の登録を行う
ssh-add -K ~/.ssh/id_rsa.`date "+%Y-%m-%d"`
1.2. GitHubへSSHキーを登録する
1.2.1. GitHubの設定画面へ移動
・https://github.com/settings/keys
または、以下を参考にしてください
1.2.2. SSHキーの登録
「New SSH key」ボタンを押下後に「1.1.SSHキーを作成する」で作成した公開鍵の登録を行います。
Titleは自分が分かりやすい文言を入力しましょう!
Keyは以下のコマンドを実行して結果をペーストすると楽かもしません。
$ cat ~/.ssh/id_rsa.2021-10-12.pub | pbcopy
1.2.3. SSH接続の確認
Hi ユーザー名!
が出力されればSSH接続成功です!
$ ssh -T git@github.com
Hi kenro17! You've successfully authenticated, but GitHub does not provide shell access.
#2. git configの設定
git configコマンドを使用してエイリアスを切る事が可能です。
これによって多少の手間が省けます。
$ git config --global alias.st status
$ git config --global alias.df diff
$ git config --global alias.co commit
$ git config --global alias.br branch
$ git config --global alias.ck checkout
上記のコマンド実行後に例えばgit df
を実行するとgit diff
と同様に動作します。
また、git config
コマンドは$HOME/.gitconfig
に設定が保存されています。
#3. レビュー時に対象PRを取り込む方法
例えば、以下のPRレビューを依頼された際にローカルでチェックアウトしたい場合には以下のコマンドを実行します。
コマンドの2はPRの#後のナンバーを表しています。こちらはよしなに修正しする必要があります。
$ gh pr checkout 2(取り込み対象のPRのナンバー)
gh
コマンドがインストールされていない場合は以下のコマンドでインストール可能です(Macの場合)。
$ brew install gh
詳しくは以下の公式ドキュメント参照
https://docs.github.com/ja/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally
#[WIP] 4. 困らないブランチ命名
#[WIP] 5. コミットメッセージの分かりやすい書き方