次の項目は別ページに分割しました。
Git for Windows
公式サイト:
ダウンロード
入手:
インストール
コンポーネント
「Select Components」 → 必要なコンポーネントを選択する。
- Additional icons:アイコンを追加する
- On the Desktop:デスクトップにアイコンを作成する
- Windows Explorer integration:エクスプローラーを拡張する
- Git Bash Here:このディレクトリで Git Bash を開始する
- Git GUI Here:このディレクトリで Git GUI を開始する
- Git LFS (Large File Support)
- Associate .git* configuration files with the default text editor:Git 用設定ファイル (.git*) を既定のテキストエディターに関連付ける。
- Associate .sh files to be run with Bash:シェルスクリプト (.sh) を Bash に関連付ける。
- Check daily for Git for Windows updates:Git for Windows の更新を毎日確認する。
- Add a Git Bash Profile to Windows Terminal:Git Bash 用プロファイルを Windows Terminal に追加する。
既定のテキストエディター
「Choosing the default editor used by Git」 → Git が使用する既定のエディタを選択する。
- the Nano editor
- Vim
- Notepad++
- Visual Studio Code
- Visual Studio Code Insiders
- Sublime Text
- Atom
- VSCodium
- Notepad
- Wordpad
- other editor
初期ブランチ名
「Adjusting the name of the initial branch in new repositories」 → 初期ブランチ名を設定する。
- Let Git decide:
master
を使用する。(デフォルト) - Override the default branch name for new repositories:指定した名前を使用する。
パスの設定
「Adjusting your PATH environment」 → 環境変数で PATH を設定する。
- Use Git from Git Bash only:Git Bash のみで使用する。
- Git from the command line and also from 3rd-party software:Git をコマンドプロンプトから実行できるように最小限の PATH を追加する。(推奨)
- Use Git and optional Unix tools from the Command Prompt:Git 及び、追加の UNIX ツールをコマンドプロンプトで使用する。(※
find
やsort
など、Windows 標準コマンドより UNIX ツールが優先されるようになるので注意!!)
SSH コマンド
「Choosing the SSH executable」 → 使用する SSH クライアント実行ファイルを選択する。
- Use bundled OpenSSH:インストールに付属する
ssh.exe
を使用する。(デフォルト) - Use external OpenSSH:PATH から探して使用する。
HTTPS 通信ライブラリ
「Choosing HTTPS transport backend」 → HTTPS 通信に使用するライブラリを選択する。
- Use the OpenSSL library:OpenSSL ライブラリを使用する。(デフォルト)
- Use the native Windows Secure Channel library:Windows の証明書ライブラリを使用する。(独自のルート CA 認証を Windows に追加して使用する場合などはこちらを選択する。)
改行コード
「Configure the line ending conversions」 → 改行コードの取り扱いを選択する。
- Checkout Windows-style, commit Unix-style line endings:チェックアウト時にテキスト形式のファイルに含まれる改行コードを CRLF に変換し、コミット時に LF に変換する。(標準的な Windows 環境で推奨される設定であるが、ローカルで Docker や WSL などの UNIX ライク環境を動かす場合に、改行コードに起因する不具合が発生する可能性がある。また、ローカルファイルに CRLF が含まれるようになるため、ローカルで UNIX ライク環境向けのパッケージをビルドする場合には適さない。)
- Checkout as-is, commit Unix-style line endings:チェックアウト時はそのままにしておき、コミット時には UNIX 形式に変換する。コミット時にテキスト形式のファイルにおける CRLF を LF に変換する。クロスプラットフォーム開発用リポジトリにプッシュするテキストファイルへの CRLF 混入が避けられる。
- Checkout as-is, commit as-is:チェックアウト時及びコミット時に改行コードの変換を行わない。(クロスプラットフォーム開発用リポジトリを利用する際に、テキストエディタで適切に改行コードを LF に変換して保存する環境を構築している場合はこちらでもよい。)
コンソール
「Configuring the terminal emulator to use with Git Bash」 → Git Bash で使用するターミナルを選択する。
- Use MinTTY / the default terminal of MSYS2:MSYS2 標準の MinTTY コンソールを使用する。
- Use Windows’ default console window:Windows 標準のコマンドプロンプトを使う。(cmd.exe)
プルコマンドの挙動 (git pull)
「Choose the default behavior of `git pull`」 → git pull
コマンドの既定の動作を選択する。
- Default (fast-foward or merge):可能であれば現在のブランチをフェッチしたブランチにファストフォワードでマージする。ファストフォワードマージができない場合はマージコミットを作成する。
- Rebase:現在のブランチをフェッチしたブランチにリベースする。ローカルコミットがない場合はファストフォワードマージと同等の動作となる。
- Only ever fast-forward:フェッチしたブランチにファストフォワードマージを実行する。ファストフォワードマージできない場合は失敗した旨が報告される。
認証情報 (Credential Helper)
「Choose a credential helper」 → 認証情報マネージャーを選択する。
- Git Credential Manager:認証情報を Windows の資格情報マネージャーに保存できるようにする。
- None:認証情報を保存しない。
その他
「Configuring extra options」 → その他のオプションを設定する。
- Enable file system caching:
fscache
によるファイルキャッシュを有効にする。(デフォルト:有効
) - Enable symbolic links:シンボリックリンクを有効にする。(デフォルト:
無効
)
実験的な補助機能
「Configuring experimental options」 → 実験的な補助機能を設定する。
- Enable experimental support for pseudo consoles:Git Bash 用のマンドプロンプトから winpty を使わずに Node や Python を実行できるようになる。(実験的な補助機能のため、既知のバグが含まれる。)
- Enable experimental built-in file system monitor:組み込みのファイル監視を使用する。ワーキングツリーに多くファイルが含まれる場合に Git コマンドの実行が高速化される。
参考:
自分用 Git for Windows のインストール手順 – Qiita
私家版 Git for Windows のインストール手順 | OPCDiary
Git のインストール方法をわかり易く解説 | エンジニアの入り口
Git for Windows で Windows に Git をインストールする手順 | Syntax Error.
いまさら Git for Windows のインストール、GitHub に接続してみた – Qiita
Windows に Git をインストールする方法 | プロエンジニア
Windows 10 に Git をインストール | Hello.
設定ファイル (gitconfig)
システム
システム領域にインストールした場合
C:\Program Files\Git\etc\gitconfig
ユーザー領域にインストールした場合
C:\Users\[User Name]\AppData\Local\Programs\Git\etc\gitconfig
グローバル
ユーザー毎の設定
C:\Users\[User Name]\.gitconfig
ローカル
リポジトリ毎の設定
.git/config
参考:
Git for Windows の gitconfig ファイルのインストール場所と初期値について | iPentec
Git for Windows の設定ファイルの場所 – Qiita
Git for Windows の設定ファイルの場所 | ぱそまき
Git for Windows の設定ファイルを編集する | ぱそまき
Git for Windows でアカウントをワーキングディレクトリで切り替える | It works for me
Changing .gitconfig location on Windows – Stack Overflow
改行コードの設定
core.autocrlf
の設定.gitattributes
ファイルを設置する
参考:
Git の改行コード自動変換でハマッた話/Windows でも LF でチェックアウトする方法 – Qiita
気をつけて!Git for Windows における改行コード – Qiita
Windows 環境の Git で改行コードの自動変換に注意 – Qiita
core.autocrlf – git-config | Git Documentation [Official]
End-of-Line Conversion – gitattributes | Git Documentation [Official]
How to change line-ending settings – Stack Overflow
How do I force git to use LF instead of CR+LF under windows? – Stack Overflow
Best practices for cross platform git config? – Stack Overflow
アップデートする
コマンドプロンプトで次のコマンドを実行すると、最新バージョンのインストーラがダウンロードされて実行される。
>git update-git-for-windows
参考:
Git for Windows を簡単に更新する方法 | 株式会社シーポイントラボ
Git for Windows のバージョンアップ | エンジニ屋
インストール済みの Git をアップデートする | かずさプログラマーの雑記帳
SSH Agent を使う
前提
Git の設定に SSH コマンドを追加する。
$ git config --global core.sshCommand "C:/Program\\ Files/Git/usr/bin/ssh.exe"
手順
SSH キーを生成して GitHub に登録し、SSH Agent を使用して Git コマンドでリポジトリをプッシュする。
ssh-keygen
コマンドを使って Ed25519 鍵のペアを生成する。$ ssh-keygen -t ed25519 -C "user@example.com" -f ~/.ssh/github_ed25519
- GitHub のサイトをブラウザで開き、「Settings > SSH and GPG keys 」にアクセスして「New SSH key」ボタンを押して SSH キーの登録ページを開く。「Title」欄に SSH キーを識別する名称を入力し、「Key」欄に
github_deed_ed25519.pub
の内容を貼り付けて、「Add SSH Key」を実行する。 - SSH Agent を Bash 内で起動する。
$ eval `ssh-agent -s`
- SSH Agent に SSH キーを登録する。
$ ssh-add ~/.ssh/github_deed_ed25519
- Git コマンドでリポジトリをプッシュする。
$ git push -u origin master
参考:
Win32-OpenSSH update in Windows · Issue #1693 · PowerShell/Win32-OpenSSH – GitHub
`ssh-add -l` returning “Error connecting to agent: Bad file file descriptor” – Atlassian Community
ssh-add works until git fetch (Error connecting to agent: Bad file descriptor) – Stack Overflow
Adding SSH keys to SSH Agent in Git Windows – Stack Overflow
シンボリックリンクの扱い
シンボリックリンクを含むリポジトリをクローンする前に、シンボリックリンクを使用可能にする。
- 「Git for Windows」のインストール時に「Enable Symbolic Links」を有効にする。
- Windows 10 の設定で、「開発者向け > 開発者向け機能を使う」において「開発者モード」を選択する。
インストール後に設定を変更する場合は、次のコマンドを実行する。
$ git config --global core.symlinks=true
リンク:
Symlinks in Windows 10! | Windows Developer Blog [Official]
参考:
Git for Windows でシンボリックリンクを扱えるようにする – Qiita
Git へ移行して、シンボリックリンクにはまったお話/Users にシンボリックリンク作成権限を付与するまで | エンジニアの階段
シンボリックリンクを利用する | rcmdnk’s blog
Symbolic Links · git-for-windows/git Wiki – GitHub
Symlink support by kblees · Pull Request #156 · git-for-windows/git – GitHub
fails to create symbolic links – Stack Overflow
symbolic links on Windows – GitHub Support Community
symbolic links in Windows – Stack Overflow
Git Bash
参考:
Windows で Git を始めたらまず確認! Git Bash の設定 & ショートカット | 株式会社グランフェアズ
Git Bash の使い方!設定方法も初心者向けにくわしく解説! | Appli World
Git for Windows でシェルスクリプトが動かなくなった | Seaoak’s READ
Extend $PATH variable in git bash under Windows – Stack Overflow
How can I find out the command line options for git-bash.exe? – Super User
Git Wrapper
ドキュメント:
Git Wrapper · git-for-windows/git Wiki – GitHub
コード:
git-wrapper.c – git-for-windows/MINGW-packages – GitHub
MinTTY
リポジトリ:
mintty/mintty: The Cygwin Terminal – terminal emulator for Cygwin, MSYS, and WSL – GitHub
参考:
快適に Git Bash とターミナル (MinTTY) を使うために色とフォントを変える – Qiita
MinTTY for Git for Windows
リポジトリ:
参考:
Git for Windows な環境に MinTTY を入れた | Zopfcode
WinPTY
参考:
Git Bash で Python / Node.js / Docker が上手く動かない場合は WinPTY を設定する | Neo’s World
Windows Terminal
参考:
Windows Terminal で Git Bash を表示する – Qiita
ConPTY
Git for Windows v2.27.0 から Windows 仮想コンソール (ConPTY) を使用するオプションが設定された。winpty を介することなく Node や Python を実行することができるようになる。(新機能のため、既知のバグを含む。)
ドキュメント:
Release Git for Windows v2.27.0 – GitHub
Known issues – Git for Windows v2.27.0 Release Notes – GitHub
リンク:
Introducing the Windows Pseudo Console (ConPTY) | Microsoft Dev Blogs
参考:
Git for Windows v2.27.0 | OPCDiary
WSL との違い
ドキュメント:
WSL で Git の使用を開始する | Microsoft Learn [公式]
参考:
Git Bash and WSL have a different directory structure – Super User
仕組み
参考:
Technical Overview · git-for-windows/git Wiki – GitHub
git-sh-setup
現象:
git-sh-setup
が見つからない旨のエラーが発生する。
git-sh-setup: file not found
対処法:
C:\Program Files\Git\mingw64\libexec\git-core
にパスを通す。
参考:
How to fix “git-sh-setup: file not found” in windows? – Stack Overflow
リリースノート
ReleaseNotes.md – git-for-windows/build-extra – GitHub
ドキュメント
Git のインストール | Pro Git book [公式]
リポジトリ
git-for-windows/git: A fork of Git containing Windows-specific patches – GitHub
Git Credential Manager
リポジトリ:
ドキュメント:
Git Credential Manager のセットアップ | Microsoft Learn [公式]
Web Account Manager integration – GitHub
Git SDK for x64
リポジトリ:
ドキュメント:
参考: