📖
個人開発 Git を SSH 公開鍵接続で Github と連携セットアップ
環境
- WSL2 (Win10 64bit)
- Ubuntu 22.04.2 LTS
手順
-
参考リンクhttps://docs.github.com/ja/get-started/quickstart/set-up-git
-
Github でプライベートリポジトリを作成
https://github.com/new -
プロファイルを設定
$ git config --global user.name 'userName'
$ git config --global user.email 'example@mail.com'
- SSH で公開鍵接続したいので key を生成
$ ssh-keygen -t ed25519 -C "example@mail.com"
- passphrase を設定した場合、git 接続時にいちいち入力しなくていいように以下を ~/.bashrc に追加
env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; }
agent_load_env
# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2=agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi
unset env
- 上記スクリプトを使用して ssh-agent を起動、passphrase を聞かれるので入力
$ source ~/.bashrc
- 作成した key を cat で出力し、コピーしておく
$ cat ~/.ssh/id_ed25519.pub
-
https://github.com/settings/ssh/new の Key にペースト、Titleをつけて保存。Key Type はAuthentication Key
-
先にセットアップしたリポジトリ(空)を、ローカルに clone できれば接続できている
$ git clone git@github.com:xxxxxxxxxx
-
そのまま master ブランチ作成まで実施する場合は以下も実施
-
リポジトリ名と同じ名前のフォルダができているので、中に README.md を作成して保存
$ cd repository
$ touch README.md
$ vim README.md
- master をチェックアウトしておく
$ git checkout master
- -u で upstream をセットしつつ push
$ git add README.md
$ git commit -m 'first commit'
$ git push -u origin master
- Github で push できていることを確認して完了
Discussion