1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows Subsystem for Linux (WSL)Advent Calendar 2023

Day 9

WSLでVSCodeをつかってGithubにリポジトリを上げる

Last updated at Posted at 2023-12-08

ちゃお

塩ハム(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です

.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

その後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 に行きます

無題.png

New SSH key を押してください

image.png

Titleは自分の好きなわかりやすいものを付けるといいでしょう、「ちわーWSLでーす」とか
そしてKeyには先ほど作ったid_ed25519.pubの中身をコピペしてください

以上で登録完了です

VSCodeでGithub接続protocolをsshに変更する

ここまで来たらあとは簡単です
再びWSLに戻り、code .でVSCodeを開きましょう

そうしたら設定を開き、検索欄にgit protocolを入力します

image.png

この項目をsshに変更します
リモートでも忘れずにsshに変更しましょう

image.png

以上にて設定は終了です
お疲れ様でした

最後にテストをしてみますね

image.png   image.png

この状態でGithubに公開を押します

image.png

privateかpublicを選択(今回はprivate)

image.png

OKを押し、しばらく待ちます

image.png

Githubに行くと

image.png

リポジトリを初期化し、プッシュすることができました

最後に

これだけのことに結構な労力を使いましたわたし()
しかし、直接Githubをいじれるようにできるのはかなりのメリットとなりましたので、誰かの参考になればなぁと思います

以上、ありがとうございました
明日の記事はCanonさんです

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?