Gitといってもインストール方法が多い
まず、検索するといろんな情報が出てくる。
- Cygwin + Git
- MinGW + MSYS2 + Git
- Git for Windows
- GitHub Desktop
- Windows Subsystem for Linux (WSL) + Git
- Windows Subsystem for Linux 2 (WSL2) + Git
何が違うのかわからない。
どれを選べばいいのかわからない。
ここでつまずく初心者多数。
実際どれを選べばいいか
長期的にみて、CygwinもMinGWも過去の遺産だよねと考えることは正しい。
だからと言って、WSL + Gitのみで完結するかというと、そうでもない。
Windows側で動くIDEからの連携等を考えると、WSL上のソフトウェアは圧倒的に使いにくい。
現在は、 Git for Windows 一択である。インストール方法はGit公式サイトからダウンロードしてインストールする方法と、wingetを利用する方法の2種類あるが、実態はどちらもGitHub上のGit for Windowsインストーラーを実行することに変わりないので、どっちを選んでもOK。
インストール方法 (Git公式サイトからダウンロード)
- Git for Windowsを公式サイトからダウンロードする。
- インストーラーを実行する。
- エディタの設定以外は全部デフォルトのままで十分。
設定はこっちの方がいいとか説明するサイトもあるが、初心者が一番使いやすい設定はデフォルトそのまま。
先にVisual Studio Code入れておけばデフォルトエディタにも設定してくれる。
特徴
特徴として、
- Git公式からダウンロードできる公式環境
- インストーラーでインストールし再起動するだけで使えるようになる
- Git LFSやGit Credential Managerもインストールしてくれる
- Microsoftがちゃんとメンテナンスしている
が挙げられる。
ソフトウェアの実態はMSYS2上で動作しているため、MinGWとあまり変わりないが、それを意識せずに使えるところが大きく異なる。
また一緒にインストールされる、Git Credential Managerの使い勝手も良い。
GitHubやBitbucketへの接続の場合、ログインをブラウザで行うのでSSOや2段階認証に対応しており、セキュリティと使い勝手の両方を満たす。
問題点
一般的な利用だと問題ないが、一部の環境だとめんどくさいことになる。
- デフォルトでGit Credential Managerをインストールするので、HTTPS、SSH、GitHub、Bitbucket、Azure DevOps以外の認証方法を利用するとき面倒。
Google Cloud Source RepositoriesやAmazon CodeCommitなど、特殊な認証方式を使うときなどに困るかも。 - MSYS2上で動くので、ほかのMSYS2をインストールするとバージョン衝突が発生することがある。
ただ、すべてデフォルトを選択するとほぼ問題にならない。