結論

Git Bashは、Windowsで Git と bash(Linux と同じ形のコマンド)を使うためのターミナルです。Git for Windows をインストールすると一緒に入り、ls・cd・grep・ssh などと git を同じ画面で使えます。

この記事でわかること

  • インストール画面の全選択肢の意味と既定値(定義ファイルで確認)
  • 基本コマンド・改行コード・文字化けのエラー原文と直し方
  • SSH鍵の作成、VS Code・PowerShell・WSL との使い分け

2026年10月29日更新|Git for Windows 2.56.0(4) の公式資料・bash 5.2・Git 2.43 で実行確認

Git Bash は「Git」「bash」「よく使う Linux のコマンド」をひとまとめにして、Windows で動くようにしたものです。中身の関係を図にします。

flowchart TD
    G[Git for Windows<br>インストーラー] --> B[Git Bash<br>mintty の窓]
    G --> C[Git CMD]
    G --> U[Git GUI]
    B --> S[bash<br>シェル]
    S --> T[ls cd grep ssh vim など<br>MSYS2 のコマンド]
    S --> X[git.exe]
    C --> X

よく調べられることの答えを先にまとめます。

知りたいこと 答え 詳しい節
Git Bashとは Git for Windows に入っている bash のターミナル Git Bashとは
Git Bash インストール gitforwindows.org から入手。迷う画面は既定のままで進められる インストール手順・選択肢
PATH の画面はどれを選ぶ 既定の「Git from the command line and also from 3rd-party software」 インストール画面の選択肢
Git Bash 使い方(コマンド) ls・cd・pwd・cp・mv・rm・grep・cat を Linux と同じに使う 基本コマンド早見表
C ドライブへの移動 cd /c/Users/名前。C:\ の書き方は崩れる パスの書き方
日本語が化ける ファイル名は core.quotepath false、中身は文字コードを合わせる 文字化けの原因と直し方
VS Code で使う 「Terminal: Select Default Profile」で Git Bash を選ぶ VS Codeのターミナル
WSL・PowerShell との違い Git と軽い作業は Git Bash、Linux そのものが要るなら WSL 違いと判断表

確認環境:Git for Windows はこの環境(Linux)では動かせないため、インストール画面の選択肢と既定値は、Git for Windows 公式のインストーラー定義ファイル(GitHub の git-for-windows/build-extra リポジトリの installer/install.iss、2026年10月29日時点の main)を読んで1つずつ確かめました。版と既知の問題は公式サイト gitforwindows.org・FAQ・リリースノート(v2.56.0(4)、2026年10月26日)、プロンプトと既定のエイリアスは同リポジトリの git-extra/git-prompt.sh・aliases.sh・bash_profile.sh、ターミナルの操作は mintty のマニュアル、パスの変換は MSYS2 のドキュメントで確かめています。bash と git のコマンドは、Ubuntu 24.04.5 LTS の上で GNU bash 5.2.21・git 2.43.0・OpenSSH 9.6p1・vim 9.1・GNU grep 3.11・coreutils 9.4・file 5.45 を使い、作業用のフォルダーの中だけで実行しました(root で実行。全体の git 設定は変えず、GIT_CONFIG_GLOBAL で作業フォルダーの設定ファイルを使用)。Windows の画面そのもの・/c/ への変換・mintty の表示は動かしていません。VS Code は公式ドキュメント、SSH 鍵の手順は GitHub Docs、WSL は Microsoft Learn で確かめました。図は mermaid 11.16.0 で描画を確かめています(確認日 2026年10月29日)。

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「Git Bashとは?使い方・インストールの全選択肢とエラー対処」

Git Bashとは(Git for Windowsとの関係)

この節では、Git Bash が何で、Git for Windows とどういう関係なのかが分かります。

Git Bash は、Git for Windows に含まれる「bash(Linux や Mac で使われるシェル)を Windows で動かす環境」です。 公式サイトは「Git for Windows provides a BASH emulation used to run Git from the command line.」(コマンドラインから Git を動かすための BASH のエミュレーションを提供する)と説明しています。

  • Git for Windows:インストーラーの名前。Git 本体・Git Bash・Git GUI・Git Credential Manager などをまとめて入れる。
  • bash:コマンドを受け取って実行する「シェル」の1つ。Linux の多くで標準。
  • MSYS2:Linux のコマンドを Windows で動かす土台。公式の技術資料は「Git for Windows is essentially a subset of MSYS2」(Git for Windows は基本的に MSYS2 の一部)と書いています。
  • mintty:Git Bash の黒い窓(ターミナル)の正体。インストール画面で選ぶ既定のターミナル。

Git Bash でできること

git のすべてのコマンド

ls・grep・find・ssh・vim など Linux 風のコマンド

シェルスクリプト(.sh)の実行

Windows のファイルを /c/ から扱う

Git Bash でできないこと

apt などで Linux のソフトを入れる

Linux 用のバイナリを動かす

Linux と完全に同じ挙動(パスの変換などが入る)

Linux サーバーそのものの代わり(それは WSL)

Git Bashのインストール手順(ダウンロードから起動まで)

この節では、Git Bash を入れるまでの流れと、どのファイルを選べばよいかが分かります。

Git Bash だけを単独で入れる方法はなく、Git for Windows をインストールすると一緒に入ります。 2026年10月29日時点の最新版は 2.56.0(4)(2026年10月26日公開)で、公式の FAQ は 2.56.0(4) より前の版はセキュリティの修正のため更新を強く勧めています。

1

gitforwindows.org を開く

「Download」から GitHub のリリースのページへ進む。検索広告の配布サイトではなく、公式から取る。

公式サイト

2

インストーラーを選ぶ

普通の 64bit の PC は Git-2.56.0.4-64-bit.exe、ARM の PC(Snapdragon など)は Git-2.56.0.4-arm64.exe。管理者権限なしで置くだけなら PortableGit もある。

リリースの Assets

3

exe を実行して画面を進める

ライセンスの表示から始まり、選択肢の画面が続く。各画面の意味は次の節の表で確かめられる。

既定の場所は C:\Program Files\Git

4

Install を押して終わりを待つ

最後の画面に「Launch Git Bash」(既定はチェックなし)と「View Release Notes」がある。

完了画面

5

Git Bash を起動して git --version

スタートメニューの「Git」→「Git Bash」(ホームで開く)、またはフォルダーを右クリックして「Open Git Bash here」から開く。同じフォルダーに Git CMD・Git GUI もある。git --version で版が出れば完了。

動作確認

8.1以降対応する Windowsx64。Windows 7・8 は 2.47.0 で対象外(FAQ)
約12週大きな版が出る間隔Git 本体の版に合わせて公開(FAQ)
3種類配布の形インストーラー・PortableGit・MinGit

入れたあとの更新は、Git Bash で git update-git-for-windows を実行すると、新しい版を調べてインストールを案内してくれます(FAQ)。MSI 形式の配布はなく、exe とポータブル版だけです。

インストール画面の選択肢(1画面ずつの意味とおすすめ)

この節では、インストール中に出るすべての画面について、何を聞かれていて、既定は何か、変えるべき場面はどこかが分かります。

迷ったら既定のままで進めて問題が起きにくい作りです。 次の表の「既定」は、インストーラーの定義ファイル(install.iss)で初めてのインストール時に選ばれる値です。2回目以降は前回の選択が引き継がれます。

画面(英語の題名) 聞かれていること 既定 変える場面
Information ライセンス(GNU GPL v2)の表示 Next なし
Select Destination Location 入れる場所 C:\Program Files\Git C ドライブの容量が足りないとき
Select Components アイコン・右クリックメニュー・Git LFS など 下の表のとおり デスクトップのアイコンが欲しいとき
Select Start Menu Folder スタートメニューのフォルダー名 Git 作らないなら「Don't create a Start Menu folder」
Choosing the default editor used by Git コミットメッセージを書くエディター Vim Vim に慣れていないなら VS Code か Nano
Adjusting the name of the initial branch in new repositories git init で作るブランチ名 Let Git decide(master) main にそろえるなら Override で main
Adjusting your PATH environment どこから git を使えるようにするか Git from the command line and also from 3rd-party software 通常は変えない
Choosing the SSH executable 使う ssh.exe Use bundled OpenSSH PuTTY を使う会社なら Plink
Choosing HTTPS transport backend HTTPS の証明書の確かめ方 Use the native Windows Secure Channel library ca-bundle.crt で管理したいなら OpenSSL
Configuring the line ending conversions 改行コードの変換 Checkout Windows-style, commit Unix-style(autocrlf=true) .gitattributes でそろえるチームの方針に従う
Configuring the terminal emulator to use with Git Bash Git Bash の窓 Use MinTTY python・node を対話で多用するなら Windows の窓
Choose the default behavior of `git pull` pull のときのまとめ方 Merge 履歴を一直線にしたいチームは Rebase
Choose a credential helper パスワード・トークンの保存 Git Credential Manager SSH だけで使うなら None も可
Configuring extra options ファイルのキャッシュ・シンボリックリンク キャッシュは有効、リンクは自動判定 通常は変えない
  • 「Choosing the SSH executable」は、PuTTY の設定が登録されているか、PATH に ssh.exe がある PC でだけ出ます。 出ない PC では、Git に同梱の OpenSSH が使われます。
  • 「Configuring experimental options」(試験的な機能。疑似コンソールなど)は、版によって出ます。既定はどれもチェックなしです。疑似コンソールの説明には「not quite stable yet」(まだ安定していない)とあります。
  • マンダトリー ASLR を有効にした PC だけ、「Security options」の画面が追加で出ます。
  • 2回目以降のインストールでは「Only show new options」(新しい選択肢だけ見せる)のチェックが出ます。

Select Components の既定

項目 既定 意味
Additional icons → On the Desktop なし デスクトップに Git Bash のアイコン
Windows Explorer integration(Open Git Bash here・Open Git GUI here) あり フォルダーの右クリックからその場所で開く
Git LFS (Large File Support) あり 大きなファイルを別に管理する拡張
Associate .git* configuration files with the default text editor あり .gitconfig などをエディターで開く
Associate .sh files to be run with Bash あり .sh をダブルクリックで bash 実行
Check daily for Git for Windows updates なし 毎日新しい版を調べる
Add a Git Bash Profile to Windows Terminal なし Windows Terminal に Git Bash を追加

PATH の3つの選択肢

選択肢 git を使える場所 注意
Use Git from Git Bash only Git Bash だけ PATH を変えない最も慎重な選択。VS Code などから git が見えない
Git from the command line and also from 3rd-party software(推奨・既定) Git Bash・コマンドプロンプト・PowerShell・ほかのソフト 最小限の git だけ PATH に足す
Use Git and optional Unix tools from the Command Prompt 上に加えて Unix のコマンドもコマンドプロンプトで Windows の find・sort が置き換わると警告が出る

PATH の画面

やってはいけない意味が分からないまま3つ目(optional Unix tools)を選ぶ。Windows の find・sort が別物になり、バッチファイルが動かなくなることがある
→
代わりに既定の2つ目を選び、Unix のコマンドは Git Bash の中で使う

インストーラー自身が赤字で「Only use this option if you understand the implications.」と書いている

Git Bashの起動・初期設定と.bashrc

この節では、Git Bash を開いたときの画面の読み方と、最初にする設定、.bashrc の置き方が分かります。

Git Bash の画面には、1行目に「ユーザー名@PC名 MINGW64 今いる場所 (ブランチ名)」、2行目に $ が出ます。 これは Git for Windows の git-prompt.sh の定義です。同じ並びの PS1 を Linux の bash で動かすと、次のようになりました。

root@vm MINGW64 /srv/s4/r17/t24/work/hello (feature/login)
$ git switch -q main

root@vm MINGW64 /srv/s4/r17/t24/work/hello (main)
$ cd ..

root@vm MINGW64 /srv/s4/r17/t24/work
$

Windows の Git Bash では、ホームの下にいるときは ~ と表示されます。MINGW64 は MSYS2 の環境の名前(変数 MSYSTEM)で、Git のリポジトリの中にいるときだけ最後にブランチ名が出ます。

最初にする git config

コミットに記録される名前とメールアドレスを登録します。登録しないままコミットすると、次のエラーになりました。

$ git commit -m "add a"
Author identity unknown

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'root@vm.(none)')
git config --global user.name "Taro Yamada"
git config --global user.email "taro@example.com"
git config --global core.quotepath false     # 日本語のファイル名をそのまま表示
git config --list --show-origin               # どのファイルの設定かを確かめる

.bashrc でエイリアスとプロンプトを足す

Git for Windows には既定で alias ls='ls -F --color=auto --show-control-chars' と alias ll='ls -l' が入っています(aliases.sh)。ファイルのコメントのとおり、自分で .bashrc・.bash_profile を作ると、この既定のエイリアスは使われなくなります。自分の設定はホームの ~/.bashrc に書きます。

# ~/.bashrc の例
alias ll='ls -alF'
alias gs='git status -sb'
export PROMPT_COMMAND='history -a'   # VS Code でも履歴を残す(VS Code 公式の回避策)

手元で同じエイリアスを読み込ませた bash の結果です。

$ gs
## feature/login
 M README.md
$ type ll
ll is aliased to `ls -alF'

.bashrc だけを作り .bash_profile が無いと、Git Bash は起動時に「WARNING: Found ~/.bashrc but no ~/.bash_profile, ~/.bash_login or ~/.profile.」と出し、.bashrc を読む .bash_profile を自動で作ります(bash_profile.sh)。一度だけ出る表示で、エラーではありません。

Git Bashの使い方:基本コマンド早見表(実行結果つき)

この節では、Git Bash でよく使うコマンドと、Windows のコマンドプロンプト・PowerShell での書き方の対応が分かります。

Git Bash のコマンドは Linux の bash と同じです。 次の表の左列をそのまま打ちます。

やりたいこと Git Bash コマンドプロンプト PowerShell
今いる場所を表示 pwd cd Get-Location(pwd)
ファイルの一覧 ls -la dir Get-ChildItem(ls)
フォルダーを移動 cd src・cd ..・cd ~ cd src Set-Location(cd)
フォルダーを作る mkdir -p a/b mkdir a\b New-Item -ItemType Directory
コピー・移動 cp・cp -r・mv copy・move Copy-Item・Move-Item
削除 rm・rm -r del・rmdir /s Remove-Item
中身を表示 cat・less・head・tail type・more Get-Content
文字列を探す grep -rn 語 . findstr Select-String
ファイルを探す find . -name "*.txt" dir /s Get-ChildItem -Recurse

作業用のフォルダーで実行した結果です($ の行が打ったコマンド)。

$ mkdir -p project/src
$ cd project
$ touch README.md
$ echo "hello git bash" > src/app.txt
$ ls -la
total 12
drwxr-xr-x 3 root root 4096 Oct 29 19:17 .
drwxr-xr-x 3 root root 4096 Oct 29 19:17 ..
-rw-r--r-- 1 root root    0 Oct 29 19:17 README.md
drwxr-xr-x 2 root root 4096 Oct 29 19:17 src
$ cp src/app.txt src/app_copy.txt
$ mv src/app_copy.txt src/memo.txt
$ ls src
app.txt
memo.txt
$ grep -rn "git" .
./src/memo.txt:1:hello git bash
./src/app.txt:1:hello git bash
$ find . -name "*.txt"
./src/memo.txt
./src/app.txt
$ rm src/memo.txt

> は上書き、>> は追記、| は前のコマンドの出力を次のコマンドに渡します。

$ echo "second line" >> src/app.txt
$ cat src/app.txt | wc -l
2
$ grep -n line src/app.txt
2:second line
$ tail -n 1 src/app.txt
second line
1

Tab で補完

ファイル名やブランチ名の途中で Tab を押すと続きを補う。Git Bash には git の補完も読み込まれる。

打ち間違いが減る

2

コピーと貼り付け

mintty では選ぶだけでコピーされる。貼り付けは Shift+Insert か右クリックのメニュー。

mintty の既定では Ctrl+V は貼り付けにならない

3

↑ で履歴

前に打ったコマンドを呼び出す。history で一覧、Ctrl+R で検索。

同じ操作を繰り返すとき

4

止める

Ctrl+C で実行中のコマンドを止める。exit で Git Bash を閉じる。

固まったように見えたら

mintty のマニュアルでは、コピーは Ctrl+Insert、貼り付けは Shift+Insert で、Ctrl+Shift+C・Ctrl+Shift+V は設定 CtrlShiftShortcuts=yes で有効にすると使えます。設定画面(Options)は窓の上で右クリックしたメニューから開きます。100個のコマンドの実行例は、関連記事「Linuxコマンド一覧|100個をカテゴリ別に実行結果つきで解説」で扱っています。

vim の終わり方

エディターの既定が Vim のまま git commit(-m なし)を打つと、Vim が開きます。i で入力、Esc を押してから :wq と Enter で保存して終了、:q! で保存せずに終了です。メッセージを空のまま閉じると、コミットは取り消されます。

$ GIT_EDITOR=true git commit --allow-empty
Aborting commit due to empty commit message.

エディターは後から git config --global core.editor "code --wait"(VS Code)のように変えられます。

Git Bashでのパスの書き方(/c/Users と C:\ の違い)

この節では、Git Bash で Windows のフォルダーを指定するときの書き方と、書き間違えたときに出る文言が分かります。

Git Bash では、C:\Users\taro を /c/Users/taro と書きます。 Git for Windows のリリースノートは「/c/(ドライブ名)は Windows の C:\ にあたる」と説明し、GitHub Docs も Windows の SSH 鍵の場所を /c/Users/YOU/.ssh/ と書いています。

Windows の書き方 Git Bash の書き方
C:\Users\taro(ホーム) ~ または /c/Users/taro
D:\work\app /d/work/app
C:\Program Files\Git "/c/Program Files/Git"(空白があるので引用符)
C:\Program Files\Git\usr\bin /usr/bin(Git Bash の中での見え方)

バックスラッシュ(\)は bash では特別な記号なので、Windows の書き方をそのまま打つと崩れます。手元の bash で打った結果です。

$ cat C:\Users\taro\memo.txt
cat: 'C:Userstaromemo.txt': No such file or directory
$ cd My Documents
bash: cd: too many arguments
  • 1つ目は \ が消えて C:Userstaromemo.txt という名前として扱われた。/ に直すか、全体を引用符で囲む。
  • 2つ目は空白で2つの引数に分かれた。cd "My Documents" か cd My\ Documents と書く。

Windows ならではの変換(公式ドキュメントより)

  • 自動のパス変換:MSYS2 のドキュメントは、Windows 用のプログラムに渡す引数のうち「Unix のパスに見えるものはすべて Windows の形に自動で変換される」と説明しています。Git for Windows のリリースノートの例では、/usr/bin/bash.exe が C:\Program Files\Git\usr\bin\bash.exe に変わります。変換させたくないときは MSYS_NO_PATHCONV=1 を前に付けるか、先頭のスラッシュを2つ(//usr/bin)にします。
  • 変換の道具:cygpath -w /c/Users で Windows の形、cygpath -u 'C:\foo' で /c/foo に変えられます(MSYS2 のドキュメント)。
  • 260文字の壁:Windows は既定でパスの長さが260文字までで、Git for Windows も既定では長いパスを扱いません。git config core.longpaths true で扱えるようになります(FAQ)。

Git BashでGitを使う流れ(init・add・commit)

この節では、Git Bash で新しいリポジトリを作り、最初のコミットをするまでの実際の出力が分かります。

Git Bash で打つ git コマンドは、Mac・Linux とまったく同じです。 作業用のフォルダーで実行した結果です。

$ git init -b main
Initialized empty Git repository in /srv/s4/r17/t24/work/hello/.git/
$ echo "# hello" > README.md
$ git status
On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	README.md

nothing added to commit but untracked files present (use "git add" to track)
$ git add README.md
$ git commit -m "最初のコミット"
[main (root-commit) c394813] 最初のコミット
 1 file changed, 1 insertion(+)
 create mode 100644 README.md
$ git log --oneline
c394813 最初のコミット
  1. 1git init(または git clone)リポジトリを作る・コピーする
  2. 2ファイルを編集して git status何が変わったかを見る
  3. 3git addコミットに含めるファイルを選ぶ
  4. 4git commit -m変更を記録する
  5. 5git pushGitHub などに送る(SSH 鍵か Credential Manager で認証)

コマンドの全体像は、関連記事「Gitコマンド一覧|やりたいこと別の早見表と実行結果・エラー対処」で扱っています。

改行コード(CRLF・LF)とcore.autocrlf

この節では、Windows で作ったファイルを bash で動かすと失敗する理由と、インストール画面で選んだ改行の設定が何をしているのかが、実行結果で分かります。

Windows の改行は CRLF(\r\n)、Linux と Mac は LF(\n)です。 CRLF のままのシェルスクリプトを bash で動かすと、行末の \r がコマンドの一部と見なされます。

$ file crlf2.sh
crlf2.sh: ASCII text, with CRLF line terminators
$ bash crlf2.sh
crlf2.sh: line 2: cd: $'src\r': No such file or directory
(3行目の echo の行は「!ello world」のように崩れて表示)
crlf2.sh: line 4: $'\r': command not found
crlf2.sh: line 5: $'ls\r': command not found
$ ./env.sh
/usr/bin/env: 'bash\r': No such file or directory
$ ./crlf.sh
/bin/bash: line 1: ./crlf.sh: cannot execute: required file not found

$'\r' や 'bash\r' が見えたら、改行コードが原因です。sed -i 's/\r$//' ファイル名 で LF に直すと動きました。VS Code なら右下の「CRLF」を押して「LF」に変えて保存します。

core.autocrlf の3つの値を試した結果

LF のファイル(lf.txt)と CRLF のファイル(crlf.txt)を、core.autocrlf=true でコミットし、3つの設定で clone しました。git ls-files --eol の i/ はリポジトリの中、w/ は手元のファイルの改行です。

$ git config core.autocrlf true
$ git add .
warning: in the working copy of 'lf.txt', LF will be replaced by CRLF the next time Git touches it
--- clone with core.autocrlf=true
i/lf    w/crlf  attr/                 	crlf.txt
i/lf    w/crlf  attr/                 	lf.txt
--- clone with core.autocrlf=input
i/lf    w/lf    attr/                 	crlf.txt
i/lf    w/lf    attr/                 	lf.txt
--- clone with core.autocrlf=false
i/lf    w/lf    attr/                 	crlf.txt
i/lf    w/lf    attr/                 	lf.txt
インストール画面の選択肢 設定 手元(checkout) リポジトリ(commit)
Checkout Windows-style, commit Unix-style(既定) core.autocrlf=true CRLF になった LF になった
Checkout as-is, commit Unix-style core.autocrlf=input そのまま(LF) LF になった(CRLF を足すと警告)
Checkout as-is, commit as-is core.autocrlf=false そのまま CRLF のまま入った(i/crlf)

シェルスクリプトだけは常に LF にしたいなら、.gitattributes に書くのが確実です。 core.autocrlf=true で clone しても、*.sh text eol=lf を書いたファイルは LF のままでした。

$ cat .gitattributes
*.sh text eol=lf
*.bat text eol=crlf
$ git ls-files --eol     # core.autocrlf=true で clone したあと
i/lf    w/crlf  attr/text eol=crlf    	run.bat
i/lf    w/lf    attr/text eol=lf      	run.sh

設定の細かい違いは、関連記事「Git改行コード設定|autocrlfと.gitattributesの違い」で扱っています。

Git Bashの文字化けの原因と直し方

この節では、Git Bash で日本語が化ける3つの場面と、それぞれの直し方が分かります。

Git Bash(MSYS2)は UTF-8 で動き、Windows の昔からのプログラムは Shift_JIS 系(CP932)で出力することがあり、このずれが文字化けの主な原因です。 公式の FAQ も「MSYS2 and Cygwin use UTF-8 while Windows will fall back to the legacy DOS codepages」と書いています。

1. git status で日本語のファイル名が数字になる

$ git status --short
?? "\350\255\260\344\272\213\351\214\262.txt"
$ git -c core.quotepath=false status --short
?? 議事録.txt

文字化けではなく、git が日本語を8進数で表示している状態です。git config --global core.quotepath false で直ります。

2. Shift_JIS のファイルを cat すると化ける

$ cat sjis.txt
����ɂ���
$ file sjis.txt
sjis.txt: Non-ISO extended-ASCII text
$ iconv -f CP932 -t UTF-8 sjis.txt
こんにちは

Shift_JIS で保存されたファイルは iconv -f CP932 -t UTF-8 で変換して読みます。file が UTF-8 と言わないときは、文字コードを疑います。

3. Windows のコマンド(ipconfig など)の出力が化ける

FAQ によると、mintty は Windows 用のプログラムから「コンソール」に見えないため、ASCII 以外の出力が崩れることがあります。窓の表示の文字コードは、右クリック→「Options...」→「Text」の「Locale」「Character set」で変えられます(mintty のマニュアル)。変更は、すでに動いているプログラムには効きません。

Git BashでSSH鍵を作る(ssh-keygen)

この節では、GitHub などに SSH でつなぐための鍵を Git Bash で作る手順と、実際の出力が分かります。

Git Bash には OpenSSH が入っているので、ssh-keygen がそのまま使えます。 GitHub Docs の手順どおりに、作業用のフォルダーで実行しました(Windows の Git Bash では、保存先の既定が /c/Users/YOU/.ssh/id_ed25519 になります)。

$ ssh-keygen -t ed25519 -C "taro@example.com"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/root/.ssh/id_ed25519): /srv/s4/r17/t24/work/ssh/id_test
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /srv/s4/r17/t24/work/ssh/id_test
Your public key has been saved in /srv/s4/r17/t24/work/ssh/id_test.pub
The key fingerprint is:
SHA256:CQCFZzFmk3IDjxgv4CVNOfrUP+MlEVLOdbT/TH7XOx4 taro@example.com

パスフレーズは入力しても画面に出ません。続けて ssh-agent に鍵を覚えさせます(手元では -a でソケットを作業フォルダーに置いて起動し、終わったあと PID を指定して止めました)。

$ eval "$(ssh-agent -s)"
Agent pid 3831
$ ssh-add ./id_ed25519
Identity added: ./id_ed25519 (taro@example.com)
$ ssh-add -l
256 SHA256:GqV0BrIJaKstEkCd92RJtr1O7IMR/fwCuNgFMAImPss taro@example.com (ED25519)

1.pub だけを渡す

GitHub の Settings → SSH and GPG keys に貼るのは公開鍵(id_ed25519.pub)。拡張子の無い秘密鍵は誰にも渡さない。

2秘密鍵の権限

Linux では権限 644 の秘密鍵を ssh-add が拒否した(下の原文)。WSL などと鍵を共有するときに出やすい。

3Git Bash の外で使うとき

FAQ は、コマンドプロンプトなどでは Windows 付属の別の OpenSSH が先に使われることがあり、PATH と start-ssh-agent.cmd の設定が要ると説明している。

$ ssh-add ./id_ed25519   # 権限 644 のとき
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for './id_ed25519' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

GitHub への登録と接続の確かめ方、Permission denied (publickey) の切り分けは、関連記事「SSH鍵の作成とGitHub接続|Permission deniedの対処法」で扱っています。

VS CodeのターミナルをGit Bashにする

この節では、VS Code のターミナルを開いたときに Git Bash が出るようにする設定が分かります。

VS Code は Git Bash を自動で見つけ、「Git Bash」という名前のプロファイルを用意します。 公式ドキュメントの手順です。

  1. 1コマンドパレットを開くCtrl+Shift+P
  2. 2「Terminal: Select Default Profile」を実行ターミナルの「+」の横の▼からも選べる
  3. 3「Git Bash」を選ぶ新しく開いたターミナルから Git Bash になる

settings.json に直接書くときは、次の1行です。

{
  "terminal.integrated.defaultProfile.windows": "Git Bash"
}
  • VS Code の公式ドキュメントは、VS Code の中の bash では履歴がセッションをまたいで残らないことがあり、~/.bashrc に export PROMPT_COMMAND='history -a' を足すと回避できる、と書いています。
  • インストール画面の PATH を「Use Git from Git Bash only」にした場合、インストーラーの説明どおり Git Bash の外からは git のコマンドを使えません。VS Code のソース管理の機能でも git を使うなら、既定の2つ目を選びます。

コマンドプロンプト・PowerShell・WSLとの違い

この節では、Windows で使える4つのターミナルの違いと、どれを使うかの判断の基準が分かります。

Git Bash コマンドプロンプト PowerShell WSL
中身 bash(MSYS2) cmd.exe PowerShell 本物の Linux
コマンド ls・grep など Linux 風 dir・copy など Get-ChildItem など Linux と同じ
入れ方 Git for Windows に同梱 Windows に標準 Windows に標準 管理者の PowerShell で wsl --install
Linux のソフト 動かない 動かない 動かない apt で入れて動く
向いている作業 Git・簡単なスクリプト 以前からのバッチ Windows の管理・自動化 Linux 向けの開発全般

Microsoft のドキュメントは、WSL を「別の仮想マシンやデュアル ブートを必要とせずに、Windows マシンで Linux 環境を実行できます」と説明し、WSL 2 は軽量の仮想マシンの中で Linux カーネルを動かします。Git Bash は Linux を動かしているのではなく、Linux 風のコマンドを Windows のプログラムとして動かしている点が違います。

判断表:どれを使うか

やりたいこと おすすめ 理由
Git の操作を覚えたい・Git だけ使う Git Bash 入れるだけで使え、Mac・Linux と同じコマンドで覚えられる
Linux サーバー向けのアプリを作る WSL 本番と同じ Linux で動かせる
Windows の設定・ファイル管理を自動化 PowerShell Windows の機能を直接扱える
Windows のフォルダーのまま .sh を動かす Git Bash /c/ からそのまま触れる
python・node を対話で多用する PowerShell か WSL Git Bash(mintty)では winpty が要ることがある

WSL の始め方は関連記事「WSL2環境構築|Ubuntu開発環境をコマンドだけで整える手順」で、PowerShell との対応は関連記事「PowerShellコマンド一覧|用途別50選とbash対応表・実行例付き」で扱っています。

Git Bashのよくあるエラーとつまずき(原文つき)

この節では、Git Bash で出やすいエラーの原文から、原因と直し方を引けます。

出た文言 原因 直し方
bash: sl: command not found コマンド名の打ち間違い・入っていない 綴りを見直す。type 名前 で場所を確かめる
bash: cd: too many arguments 空白を含むフォルダー名 引用符で囲む
No such file or directory 場所の違い・\ を使ったパス pwd と ls で確かめ、/c/... で書く
rm: cannot remove 'src': Is a directory フォルダーを rm で消そうとした rm -r(中身ごと消える)
cp: -r not specified; omitting directory 'src' フォルダーを cp でコピーしようとした cp -r
$'\r': command not found CRLF のシェルスクリプト LF に直す・.gitattributes
Author identity unknown user.name・user.email が無い git config --global で登録
UNPROTECTED PRIVATE KEY FILE! 秘密鍵の権限が広すぎる chmod 600
  • 1python・node が固まるFAQ の回避策は winpty python のように winpty を付けて起動すること。インストール画面で「Use Windows' default console window」を選ぶ方法もある
  • 2引数のパスが勝手に C:\ に変わるMSYS_NO_PATHCONV=1 コマンド で変換を止める(リリースノート)
  • 3Excel で変えたファイルが git に出ないExcel は mtime(更新日時)ではなく ctime(変更時刻)を更新するため。git status を実行すると気づく(FAQ)
  • 4PowerShell で git のヒントどおり打つと失敗するgit のヒントは POSIX のシェル向け、とリリースノートの既知の問題にある。ヒントは Git Bash で打つ

よくある質問

Q. Git Bashとは何ですか? A. Windows で Git と bash を使うためのターミナルです。Git for Windows をインストールすると一緒に入り、Linux と同じ形のコマンドで Git やファイルの操作ができます。

Q. Git Bash だけをインストールできますか? A. できません。Git for Windows のインストーラーに含まれています。インストールせずに使いたいときは、展開して使うポータブル版(PortableGit-2.56.0.4-64-bit.7z.exe など)も配布されています。

Q. インストール画面はすべて既定のままでよいですか? A. 多くの場合は既定で問題なく使えます。変えることが多いのは、エディター(Vim → VS Code など)と、初期ブランチ名(main にそろえる)の2つです。

Q. Git Bash は無料ですか? A. 無料です。Git は GNU GPL v2 で、一緒に配布される bash などもそれぞれのライセンスで配布されています(リリースノート)。

Q. Mac や Linux にも Git Bash はありますか? A. Mac・Linux にはもともと bash などのシェルとターミナルがあるため、Git を入れるだけで同じことができます。Git Bash は Windows のためのものです。

Q. Git Bash のホームフォルダーはどこですか? A. ~ が Windows のユーザーフォルダー(/c/Users/名前)にあたります。GitHub Docs の SSH 鍵の既定の保存先も /c/Users/YOU/.ssh/ です。

Q. Git Bash で貼り付けができません。 A. mintty では Ctrl+V は既定で貼り付けになりません。Shift+Insert か、右クリックのメニューの Paste を使います。Options の Keys で Ctrl+Shift+V を有効にすることもできます。

Q. Git Bash の版を上げるには? A. Git Bash で git update-git-for-windows を実行するか、最新のインストーラーを上から実行します。インストーラーは前の版を消してから入れ、前回の選択を引き継ぎます。

Q. WSL があれば Git Bash は不要ですか? A. WSL の中でも git は使えます。Windows のフォルダー(/c/...)で作業するなら Git Bash、Linux の中のフォルダーで作業するなら WSL の git、と作業する場所で分けると、改行コードの設定などで迷いにくくなります。

Q. .sh ファイルをダブルクリックで動かせますか? A. インストール画面の「Associate .sh files to be run with Bash」(既定でチェックあり)が有効なら、ダブルクリックで bash が実行します。改行コードが CRLF だと失敗するので、LF で保存します。

まとめ

  • Git Bash は Git for Windows に入っている bash のターミナルで、Linux と同じコマンドで Git とファイルを扱える。2026年10月29日時点の最新は 2.56.0(4)。
  • インストール画面は既定のままで進められる。PATH は既定の「Git from the command line and also from 3rd-party software」、エディターと初期ブランチ名は好みで変える。
  • パスは /c/Users/名前 の形で書く。\ と空白はそのまま打つと崩れる。
  • CRLF のシェルスクリプトは $'\r': command not found で失敗した。.gitattributes の *.sh text eol=lf なら autocrlf=true でも LF のままだった。
  • 日本語のファイル名は core.quotepath false、Shift_JIS の中身は iconv で直る。SSH 鍵は ssh-keygen -t ed25519 で作り、.pub だけを登録する。

参考・出典

確認日はいずれも 2026年10月29日です。

  • Git for Windows 公式サイト:https://gitforwindows.org/
  • Git for Windows「Frequently Asked Questions」:https://gitforwindows.org/faq.html
  • Git for Windows「Technical overview」:https://gitforwindows.org/technical-overview.html
  • Git for Windows のリリース(v2.56.0.windows.4):https://github.com/git-for-windows/git/releases/latest
  • Git for Windows のリリースノート(Known issues を含む):https://github.com/git-for-windows/build-extra/blob/main/ReleaseNotes.md
  • インストーラーの定義ファイル install.iss:https://github.com/git-for-windows/build-extra/blob/main/installer/install.iss
  • Git Bash のプロンプトの定義 git-prompt.sh:https://github.com/git-for-windows/build-extra/blob/main/git-extra/git-prompt.sh
  • 既定のエイリアス aliases.sh・bash_profile.sh:https://github.com/git-for-windows/build-extra/tree/main/git-extra
  • mintty「mintty manual」:https://mintty.github.io/mintty.1.html
  • MSYS2「Filesystem Paths」:https://www.msys2.org/docs/filesystem-paths/
  • Visual Studio Code「Terminal Profiles」:https://code.visualstudio.com/docs/terminal/profiles
  • GitHub Docs「新しい SSH キーを生成して ssh-agent に追加する」:https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
  • Microsoft Learn「WSL とは」:https://learn.microsoft.com/ja-jp/windows/wsl/about

本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。

(記載例)出典:株式会社RJC「Git Bashとは?使い方・インストールの全選択肢とエラー対処」

株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。

WE ARE HIRING

RJCで一緒に開発しながら、
成長を楽しみませんか?

RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!

  • 127日年間休日
  • 12時間平均残業時間
  • 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!

ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。

ABOUT RJC RJCがどんな会社か知る 考え方、研修、働き方、福利厚生、社員の前職まで。RJCのことが丸わかり! RJC丸わかりページへ JOB DESCRIPTION 仕事内容・待遇を見てみる 仕事内容、給与・待遇、選考の流れ。経験者も未経験も!応募前に知りたいこと、まとめました! 募集要項を見る ENTRY エントリーする エントリーは1〜2分・履歴書不要です。まずは話を聞いてみたい、という方でも歓迎です! エントリーフォームへ
参加受付中

AI駆動開発、 無料セミナー