ちゃお
塩ハム(d)と申します
この記事はみすてむず いず みすきーしすてむず (3) Advent Calendar 2023 9日目の記事です。
私が入っているMisskeyインスタンスのみすてむず いず みすきーしすてむずでアドベントカレンダーを書くということで、なんやめんどくさいなぁと思いながらキーボードカチャカチャしてみました
ということですので本題に入るぜ
WSLでVSCodeを使ってGithubにリポジトリを上げる方法
WSLからVSCodeをつかってGithubにリポジトリを上げるのに失敗を何度もしたんですよね
なんでかな~こわいな~と思っていたので、いろいろ調べて解決しました
簡単に説明すると、ssh-agentがWSLでは自動起動しないようでしたので
- ssh-agentを自動起動するようにする
- ssh-keyを生成、ssh-addでssh-agentに追加する
- Githubにパブリックキーを登録する
- VSCodeでGithub接続protocolをsshに変更する
の手順が必要になりました
順に説明していきます
ssh-agentの自動起動
やはり公式の用意したページは見るものですね……
まずは自分のWSLに入ってください……入りましたね?
その後こちらのページに書けばいい内容が用意されていますので、vim ~/.bashrc
などでファイル末尾に追記してください
……えっGit for Windowsで~~が気になるって?
よく見てみるといい、これはShell Commandです
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
その後source ~/.bashrc
で有効化されます
ssh-key生成とssh-agent登録
次はssh-keyを生成します
これもこのページに書いてあるやつですね
秘密鍵公開鍵暗号の奴です、さっそく作っていきましょう
ssh-keygen -t ed25519 -C "your_email@example.com"
> Generating public/private ALGORITHM key pair
# 次のコマンドで場所とファイル名を決めてください、めんどくさければデフォルトいいです
> Enter a file in which to save the key (/home/YOU/.ssh/ALGORITHM):[Press enter]
# パスフレーズを入れて下さい、忘れないようにしましょう
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]
まずこれでssh-keyが生成されます
何も変更しなければ/home/YOU/.ssh/id_ed25519
と/home/YOU/.ssh/id_ed25519.pub
ができているはずです
次はssh-agentへの登録ですが、一つ前の手順でssh-agentは起動できているはずです
なので次のコマンドで登録しましょう
ssh-add ~/.ssh/id_ed25519
Githubにパブリックキーを登録する
これは簡単です
まずGithubのアカウントは持っていると思うので、Githubにログインし Setting > SSH and GPG keys に行きます
New SSH key を押してください
Titleは自分の好きなわかりやすいものを付けるといいでしょう、「ちわーWSLでーす」とか
そしてKeyには先ほど作ったid_ed25519.pub
の中身をコピペしてください
以上で登録完了です
VSCodeでGithub接続protocolをsshに変更する
ここまで来たらあとは簡単です
再びWSLに戻り、code .
でVSCodeを開きましょう
そうしたら設定を開き、検索欄にgit protocol
を入力します
この項目をsshに変更します
リモートでも忘れずにsshに変更しましょう
以上にて設定は終了です
お疲れ様でした
最後にテストをしてみますね
この状態でGithubに公開を押します
privateかpublicを選択(今回はprivate)
OKを押し、しばらく待ちます
Githubに行くと
リポジトリを初期化し、プッシュすることができました
最後に
これだけのことに結構な労力を使いましたわたし()
しかし、直接Githubをいじれるようにできるのはかなりのメリットとなりましたので、誰かの参考になればなぁと思います
以上、ありがとうございました
明日の記事はCanonさんです