Windows11 WSL Ubuntu VSCode Git GitHub 開発環境構築

動画内で使ったメモです。note.com に合わせて一部手直ししています。

環境情報

OS:Windows 11 Pro 23H2
OS ビルド:22631.3447
Git for Windows:2.44.0
WSL:2.1.5.0
Ubuntu:22.04.4 LTS
Windows Terminal:1.19.10821.0
Visual Studio Code:1.88.1

※ 2024-04-21現在の最新

1. Windows Terminal

  • Windows Terminalアプリで PowerShell の起動確認

  • ない場合は Microsoft Store で入手

2. Visual Studio Code

VSCode 本体のインストール:

  • Visual Studio Code公式サイトからインストーラをダウンロード

  • VSCode のインストール

    • オプションはデフォルトのまま

  • VSCode をスタートやタスクバーにピン留め(任意)

拡張機能のインストール:

  • Japanese Language Pack for Visual Studio Code
    日本語化のため

  • WSL
    WSL 環境に接続するため

3. Git for Windows

実質的に、Git Credential Manager (GCM, Git資格情報マネージャー) を使うためだけに、Windows 側に Git を入れる

WSL Ubuntu に直接 GCM をインストールすることもできるが、 Microsoft 公式で推奨している Git for Windows を使う方式を採用

3.1. ダウンロード

3.2. インストールウィザード

  • Select Components

    • Windows Explorer integration:OFF(任意)
      右クリックのコンテキストメニューに追加される
      個人的には必要ない

    • Check dialy for Git for Windows updates:ON(推奨)
      勝手にアップデートしてくれる設定

    • Add a Git Bash Profile to Windows Terminal:ON(推奨)
      Windwos Terminal に Git Bash を追加してくれる

  • Choosing the default editor used by Git
    Git のデフォルトエディタを選択

    • Use Visual Studio Code as Git's default editor
      VSCode をデフォルトエディタとして選択

  • Adjusting the name of the initial branch in new repository
    git init で新しいリポジトリ作成時の初期ブランチ名について

    • Override the default branch name for new repository
      新しいリポジトリのデフォルトブランチ名を `main` にする
      政治的なあれこれで 2021 年から `master` から変更される流れになったらしい

  • Adjusting your PATH environment
    PATH環境について

    • Git from the command line and also from 3rd-party software
      推奨
      PATH に最小限の Git ラッパーだけを追加
      Git Bash、コマンドプロンプト、Windows PowerShell などから Git を使えるようにする

  • Choosing the SSH executable

    • Use bundled OpenSSH
      Git に付属の ssh.exe を使用

  • Choosint HTTPS transport backend
    Git の HTTPS 接続に使う SSL/TLS ライブラリ

    • Use the OpenSSL library
      サーバー証明書は、ca-bundle.crt ファイルを使って検証

  • Configuring the line ending conversations
    改行文字の設定

    • Checkout as-is, commit as-is
      テキストファイルのチェックアウトやコミットの際に、改行文字の変換を行わない
      "core.autocrlf false" の設定

  • Configuring the terminal emulator to use with Git Bash
    Git Bash で使う端末エミュレータの設定

    • Use MinTTY (the default terminal of MSYS2)
      MinTTY(MSYS2のデフォルト端末)を使う

  • Choose the default behavior of `git pull`
    git pull` のデフォルトの動作を選択する

    • Only ever fast-forward
      Fast-forward のみ
      これは `git pull` の標準的な動作

  • Choose a credential helper
    資格情報ヘルパーの選択

  • Configuring extra options
    追加オプションの設定

    • Enable file system caching
      ファイルシステムのキャッシュを有効にする


補足:

PowerShell から winget を使い、Git for Windows を簡単に入れることもできる

winget install --id Git.Git -e --source winget

しかし、この方法だと以下の2点の問題が発生するので、
わざわざインストーラから Git を入れている

  1. インストールウィザードで行うオプションの細かい選択ができない

  2. 標準の言語設定が英語になるので、後で日本語化設定をする手間が発生する

3.3. `.gitconfig` の設定

Git 環境の設定を行う

参考:Git - 最初のGitの構成

  • `C:\Users{username}.gitconfig` ファイルを作成
    ※ Gitのインストールで、エディタの指定のために
     自動で`.gitconfig`ファイルは既に作成されている

  • 設定を記入

  • Gitユーザ名:`{username}` を自分の Git ユーザ名に変更

  • コミットメールアドレス:`{email}` を自分のメールアドレスに変更

[core]
	editor = \"C:\\Users\\{username}\\AppData\\Local\\Programs\\Microsoft VS Code\\bin\\code\" --wait
[user]
    name = {username}
    email = {email}
[pull]
    ff = only
    rebase = false
[core]
    eol = lf
    ignorecase = false
    quotepath = false
[init]
    defaultBranch = main
[fetch]
    prune = true
[rebase]
    autosquash = true

コマンドで設定する場合:

git config --global user.name "{username}"
git config --global user.email {email}
git config --global pull.ff only
git config --global pull.rebase false
git config --global core.eol lf
git config --global core.ignorecase false
git config --global core.quotepath false
git config --global init.defaultBranch main
git config --global fetch.prune true
git config --global rebase.autosquash true

4. WSL

WSL のインストールを行う

前提条件:

  • Windows 10 2004 以上(ビルド19041以上)

  • Windows 11

  • 前提条件を満たすWindowsはすべてサポート内のため、通常は問題ないはず

手順:

  • PowerShell を管理者モードで開く

  • `wsl --install` コマンドを入力

  • パソコンを再起動

補足:

  • Home 版でも WSL は使える

  • デフォルトのディストリビューション:Ubuntu

  • Hyper-V などの仮想化環境設定は自動で有効になる
    この機能を有効にするため、Windowsの再起動が必要

  • Windows Terminal に Ubuntu が自動で登録される

参考:WSL のインストール | Microsoft Learn

5. Ubuntu

5.1. 初期設定

Ubuntu の初回起動時には、ユーザを作成する必要がある

手順:

  • Microsoft Store から Ubuntu を入れる
    通常は `wsl --install` コマンドで一緒に Ubuntu も入る

  • Windows Terminal から Ubuntu を初回起動
    通常は `wsl --install` コマンドで同時に進行する

  • ユーザ名を入力

  • パスワードを入力

参考:WSL 開発環境を設定する | Microsoft Learn


補足:

  • 個人的にはセキュリティが求められるところではないと思っているので、ユーザー名とパスワードは短い文字列にしている

  • 私的設定

    • username: az

    • password: a

5.2. パッケージ更新

※ これ以降は、VSCode で WSL Ubuntu を開いてもいい

  • パッケージを更新およびアップグレードして、ディストリビューションを最新の状態にする

Ubuntu, Debian の場合:

sudo apt update && sudo apt upgrade -y
  • Ubuntuのバージョンを確認

Ubuntu バージョン確認コマンド:

lsb_release -a

5.3. sudo でパスワード入力を不要にする(任意)

sudo コマンドを使った際に、パスワードが「a」の一文字でも面倒だから、
パスワード入力をしなくてもいいようにする

やらなくてもいい

  • `sudo visudo` コマンドを実行

sudo visudo

/etc/sudoers を編集する GNU nano エディタが起動する

  • これ↓をファイルの一番下に書く

{username} ALL=(ALL:ALL) NOPASSWD: ALL

必ず `%sudo`より下に書くこと
{username} は Ubuntu のユーザネームに置き換え

  • ctrs + s で上書き保存

  • ctrs + x で閉じる

5.4. Git インストール

  • できるだけ新しいバージョンのGitにするため、ppa を設定する

sudo add-apt-repository ppa:git-core/ppa
  • Git を更新する

sudo apt update; sudo apt install git

参考:Git - Download for Linux and Unix

5.5. Git Credential Manager

Git for Windows の Git Credential Manager で、資格情報を登録できるようにされている

WSL と Windows ホストの間で資格情報と設定を共有するために、`.gitconfig`に設定を追加する

`.gitconfig`は、Windows と WSL 内で引き継ぎは行われないので、
WSL Ubuntu のホームに `.gitconfig` ファイルを作成し、設定を書く

[user]
    name = {username}
    email = {email}
[pull]
    ff = only
    rebase = false
[core]
    eol = lf
    ignorecase = false
    quotepath = false
[init]
    defaultBranch = main
[fetch]
    prune = true
[rebase]
    autosquash = true
[credential]
	helper = /mnt/c/Program\\ Files/Git/mingw64/bin/git-credential-manager.exe

コマンドで設定する場合:

git config --global user.name "{username}"
git config --global user.email {email}
git config --global pull.ff only
git config --global pull.rebase false
git config --global core.eol lf
git config --global core.ignorecase false
git config --global core.quotepath false
git config --global init.defaultBranch main
git config --global fetch.prune true
git config --global rebase.autosquash true
git config --global credential.helper "/mnt/c/Program\ Files/Git/mingw64/bin/git-credential-manager.exe"

参考:WSL で Git の使用を開始する | Microsoft Learn

6. GitHub

6.1. Git 資格情報を登録

  • 既定のブラウザで GitHub にサインインした状態にする

  • `git clone` などのコマンドでGitHubに接続
    GitHub のリポジトリに初めて接続したとき
    Git Credential Manager による認証が行われる

  • ブラウザで認証する

  • Windows 資格情報マネージャで確認

6.2. GitHubアカウントでVSCodeの設定を同期(任意)

GitHubアカウントを使って VSCode の設定を他の PC と同期する

設定はクラウドに保存されるため、バックアップとしても使える

  • VSCode 左下のアイコンから「サインインして設定を同期する」を選択

  • 同期したい設定を選択

  • 同期したアカウントを選択 -> GitHub

参考:Settings Sync in Visual Studio Code

この記事が気に入ったらサポートをしてみませんか?