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. ダウンロード
Git公式サイトから、64-bit Git for Windows Setupをダウンロード
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
資格情報ヘルパーの選択Git Credential Manager
Git資格情報マネージャー
Configuring extra options
追加オプションの設定Enable file system caching
ファイルシステムのキャッシュを有効にする
補足:
PowerShell から winget を使い、Git for Windows を簡単に入れることもできる
winget install --id Git.Git -e --source winget
しかし、この方法だと以下の2点の問題が発生するので、
わざわざインストーラから Git を入れている
インストールウィザードで行うオプションの細かい選択ができない
標準の言語設定が英語になるので、後で日本語化設定をする手間が発生する
3.3. `.gitconfig` の設定
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` ファイルを作成し、設定を書く
`/home/{username}/.gitconfig` ファイルを作成
設定を記入
Gitユーザ名:`{username}` を自分の Git ユーザ名に変更
コミットメールアドレス:`{email}` を自分のメールアドレスに変更
[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