Windowsパソコンに分散型バージョン管理システムGit for Windowsをインストールして、外出先でも各種プロダクトの開発が行えるようにします。
Gitの操作はVisual Studio Code Insidersで行うことにしています。
なお、プログレス合同会社では自社プライベートGitリポジトリサーバーとしてGitLabを運用しています。
Gitの公式サイトからWindows版のGitクライアントをダウンロードします。
執筆時(2024/08/09)のバージョンは2.38.0でした。
ダウンロードしたexeファイルを実行します。
『Next >』で次に進みます。
『Next >』で次に進みます。
ウィンドウズエクスプローラーのコンテキストメニュー(右クリックメニュー)にはGitを追加しないため『Windows Explorer integation』のチェックを外しています。
『Next >』で次に進みます。
『Next >』で次に進みます。
『Visual Studio Code Insiders』を選択しています。
『Next >』で次に進みます。
新しいリポジトリ作成時の初期ブランチの名称を指定する画面です。
『Override the default branch name for new repositories』を選択して、mainを初期ブランチにしています。
『Next >』で次に進みます。
GitはVisual Studio Codeで使用しますので『Git from the command line and also from 3rd-party software』を選択しています。
『Next >』で次に進みます。
SSH(Secure SHell)クライアントプログラムの選択画面です。
GitリポジトリにSSHでアクセスするときにパスフレーズ付きの秘密鍵を使用するため、Windows標準のssh.exeを使用します。
『Use external OpenSSH』を選択しています。
『Next >』で次に進みます。
GitリポジトリにHTTPSでアクセスするときに使用するSSL/TLS証明書ライブラリを指定します。
『Next >』で次に進みます。
Gitで改行コードの変換をさせないので『Checkout as-is, commit as-is』を選択しています。
『Next >』で次に進みます。
Git Bashで使用するコンソールを選択します。
『Next >』で次に進みます。
git pullの動作を設定します。
『Next >』で次に進みます。
2要素認証等の資格情報の管理はGCM(Git Credential Manager)を使用します。
『Next >』で次に進みます。
Gitでシンボリックリンクを使えるように『Enable symbolic links』を✅しています。
『Next >』で次に進みます。
『Install』でインストールが開始されます。
終了するまで待ちます。
『Finish』でセットアップ画面を閉じます。
Gitを使用する最低限の設定を行います。
WindowsのスタートメニューからGit Bashを起動します。
Git Bashで下記のコマンドを実行します。
git config --global user.name "your name" git config --global user.email email@example.co.jp git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
GitのリモートリポジトリにSSHでアクセスする際に、秘密鍵にパスフレーズが設定されていると、パスフレーズを入力できないためPermission denied (publickey)エラーになります。
Windows付属のOpenSSH Authentication Agentを使用して、パスフレーズの入力を行うようにします。
デスクトップのPCアイコンを右クリックしてコンテキストメニューから管理(G)でコンピュータの管理画面を開きます。
『サービス』➡『OpenSSH Authentication Agent』を右クリックして、コンテキストメニューから『プロパティ』をクリックします。
スタートアップの種類(E)を『自動』にして『適用(A)』をクリックします。
『OK』でプロパティ画面を閉じます。
OpenSSH Authentication AgentにSSH秘密鍵のパスフレーズを登録します。
ssh-add
Enter passphrase for C:\Users\xxxxxxxxxx/.ssh/id_ed25519: Identity added: C:\Users\xxxxxxxxxx/.ssh/id_ed25519