Git Bashとは?Windowsでのインストールと基本操作・コマンド一覧

環境&ワークフロー

Git Bash(ギットバッシュ)とは、Windows上でGitコマンドとLinux系コマンドを実行できるターミナルツールです。「Git for Windows」をインストールすると自動的に付属し、lscdtouchなどのUnix系コマンドもWindowsで使えるようになります。コマンドプロンプトやPowerShellとは異なり、Linux・Macと同じ感覚でGitを操作できるのが最大の特徴です。

「Git Bashって結局何?」「Gitを使いたいけど黒い画面が苦手…」そんな方に向けて、この記事ではGit Bashの基本から活用法までをわかりやすく解説します。

本記事でわかること:

これからGitを始める人はもちろん、他のターミナルと迷っている方にも役立つ情報をまとめました。
この記事を読めば、Git Bashのインストールから基本操作まで一通りわかるようになります。

より詳細なLinux環境を求めている方は WSL入門 や、Bash環境についての記事 Bashとは? も参考になります。コピー&ペーストの操作だけ知りたい方は Git Bashのコピー・貼り付け完全ガイド をご覧ください。

📝 この記事について:本記事は Git Bash(Git for Windows)に特化したガイドです。WSL・Git Bash・PowerShell などの選択肢を含め「WindowsでBashを使う方法」全般を知りたい方は、WindowsでBashを使う方法 をご参照ください。

  1. はじめに:Git Bashとは?
    1. Git Bashの正体:MSYS2をベースにしたBashの移植版
    2. 「Git Bash」「Git CMD」「Git GUI」の違い
  2. Git Bashのインストール方法(初心者向け手順)
    1. 公式サイトのダウンロードリンク
    2. インストーラーの使い方
    3. 推奨オプション設定(Git Bash Here など)
    4. Git Bashの起動方法(3つのルート)
    5. 起動直後の「MINGW64」プロンプトの読み方
    6. 動作確認:最初に打つコマンド
    7. インストール後の初期設定(git config)
  3. Git Bashの基本的な使い方
    1. Gitコマンドの実行(clone, add, commit, push など)
      1. 実行例:新しいプロジェクトを最初のコミットまで進める
    2. ファイル操作系のUnixコマンド(ls, cd, touch, mkdir, rmなど)
    3. Bashスクリプトの実行(簡単な .sh ファイル例)
      1. スクリプト例:hello.sh
      2. 実行方法
  4. よく使うコマンド一覧(Git+Linux系)
    1. Gitコマンド早見表(操作別に整理)
    2. Unixコマンド早見表(初心者向け)
    3. Windowsとの違いがわかる補足(例:dir vs ls)
  5. Windowsのパスの書き方(C:\ と /c/ の違い)
    1. なぜ cd C:\Users\taro は失敗するのか
    2. 正しい書き方は3通り
    3. いまどこにいるかを確認する(pwd)
    4. よく使うフォルダへのショートカット
    5. 応用:スラッシュ始まりの引数が勝手に書き換わるとき
  6. 環境変数の確認とPATHの通し方
    1. 環境変数を確認する
    2. PATHを通す(一時的/恒久的)
  7. 日本語の文字化け・日本語入力でつまずいたときの対処
    1. 症状1:git status でファイル名が数字の羅列になる
    2. 症状2:ls や cat の日本語が化ける
    3. 症状3:日本語が入力できない・変換候補が見えない
    4. 症状4:文字幅が崩れる・フォントを変えたい
  8. 他のターミナルとの比較(どれを使うべき?)
    1. Git Bash vs コマンドプロンプト(CMD)
    2. Git Bash vs PowerShell
    3. Git Bash vs WSL(Windows Subsystem for Linux)
    4. Git Bash vs Cygwin
    5. 向いている用途・選び方のアドバイス
  9. Git Bashのメリット・デメリット
    1. ✔ メリット
      1. インストールが簡単
      2. GitとLinuxコマンドが同時に使える
      3. Windowsと共存できる
      4. スクリプト自動化も可能
    2. ✖ デメリット
      1. 完全なLinux互換ではない
      2. Windowsコマンドとの使い分けが必要
      3. ターミナルとしての機能はシンプル
  10. 開発に活かす!Git Bash活用のコツ
    1. Windows Terminal や VS Code との連携
      1. 💡 Windows Terminalに追加する
      2. 💡 VS Codeとの連携
    2. スクリプト自動化の小技(例:git pull 自動化)
      1. 🔧 複数リポジトリを自動で更新するスクリプト例:auto_pull.sh
    3. コマンド入力の補完や履歴を活用する方法
      1. ✅ 補足:よく使うコマンドはエイリアスにすると便利
  11. Git BashでSSH鍵を作成してGitHubに接続する
    1. SSH鍵の作成
    2. 公開鍵をGitHubに登録する
  12. よくある質問(Q&A)
    1. Q. Git BashとGit GUIはどっちを使うべき?
    2. Q. Git Bashが起動しない・文字化けするときは?
    3. Q. Bashって危険?rmコマンドで消えないようにするには?
    4. Q. Git BashでPowerShellやCMDのコマンドは使える?
    5. Q. PythonやNode.jsを対話モードで起動すると固まるのはなぜ?
    6. Q. 起動時のフォルダをいつも使う場所に変えたい
  13. まとめ:Git Bashはこんな人におすすめ
    1. Git初心者〜中級者でコマンドに慣れたい方
    2. LinuxコマンドをWindowsで扱いたい方
    3. 簡単に開発環境を整えたい方
  14. 次のステップ:Git Bashを使いこなすための関連記事
  15. 関連記事

はじめに:Git Bashとは?

Git Bashは、Windows上でGitの操作Linux系コマンドの実行を可能にする、コマンドラインツールです。Git for Windowsをインストールすると利用でき、黒い画面上でgitlsなどのコマンドを実行できます。読み方は「ギットバッシュ」です。

Git Bashの正体:MSYS2をベースにしたBashの移植版

もう少し踏み込むと、Git BashはMSYS2(Cygwin派生のPOSIX互換レイヤー)の上で動くGNU Bashです。Windowsには本来Bashは存在しないため、Linuxのシステムコールを肩代わりするmsys-2.0.dllというランタイムを挟むことで、lsgrepといったUnixコマンドをそのまま動かしています。

つまりGit Bashは「Windows用に作られた別物のシェル」ではなく、本物のBashをWindowsに移植したものです。そのためLinuxやmacOSのターミナルで覚えた知識は、ほぼそのまま通用します。参考までに、Git for Windows 2.54.0以降に同梱されているのはBash 5.3系です。

一方で、Linuxカーネルそのものが動いているわけではないため、aptのようなパッケージマネージャやDockerは使えません。この線引きが、後述するパスの書き方文字コードのつまずきの背景にもなっています。

「Git Bash」「Git CMD」「Git GUI」の違い

Git for Windowsをインストールすると、スタートメニューに似た名前のショートカットが3つ並びます。ここで迷う人が多いので、違いを整理しておきます。

名前中身こんなときに使う
Git BashBash(Unixシェル)+Git+Unixコマンド基本はこれ。Git操作もファイル操作もこれ1つで完結する
Git CMDWindowsのコマンドプロンプトにgitのパスを通しただけのものdirなど従来のWindowsコマンドを併用したいとき
Git GUIコミットやブランチ操作をマウスで行う付属アプリコマンドを覚える前に、変更内容を目で確認したいとき

迷ったらGit Bashを選んでおけば間違いありません。この記事もGit Bashを前提に解説します。

開発現場ではGitの操作をGUI(グラフィカル・ユーザー・インターフェース)で行うツールもありますが、Git Bashはより柔軟かつ正確にGitを使いこなしたい人にとって定番の選択肢です。

特に、開発初心者がコマンドに慣れるための第一歩としても最適です。マウス操作では見えづらいGitの仕組みが、コマンドラインでの操作を通じて理解しやすくなります。また、Linuxサーバー環境での操作にも近いため、将来的なスキルアップにもつながります。

GUIツールと比べてGit Bashは軽量で動作も速く、学習を兼ねて操作の流れを身につけやすいのが特徴です。ログやエラーがそのまま表示されるので、問題の原因を追いやすい点もメリットです。直感的に使えるGUIツールと併用するのもよいですが、長期的に見ればGit Bashに慣れておくことで、より高度なGit操作がスムーズになります。

Git Bashのインストール方法(初心者向け手順)

WindowsにGit Bashを導入するには、「Git for Windows」というパッケージをインストールします。以下の手順に従えば、初心者でも簡単にセットアップ可能です。

公式サイトのダウンロードリンク

まずは、公式サイトからインストーラーをダウンロードします。

👉 https://gitforwindows.org/

「Download」ボタンをクリックすると、使用しているPCに対応したインストーラーがダウンロードされます。

⚠️ 32bit版は配布終了しています。Git for Windows は v2.48.1 を最後に32bit版インストーラーの提供を終了しました。現在ダウンロードできるのは64bit版と、Windows on ARM向けのARM64版の2種類です。古い解説記事では「32bitか64bitを選ぶ」と書かれていることがありますが、いまは基本的に64bit版を選べばOKです(Snapdragon搭載PCなどARM64機の場合のみARM64版)。

インストーラーの使い方

ダウンロードが完了したら、インストーラー(Git-x.y.z-64-bit.exeなど)をダブルクリックして実行します。

セットアップウィザードが起動したら、基本的にはすべてデフォルトのまま「Next」連打でOKです。インストールが進む中でいくつかの選択肢が表示されますが、特に以下の項目に注意しましょう。

推奨オプション設定(Git Bash Here など)

  • 「Git Bash Here」を有効にする(チェック済みが推奨)
    → エクスプローラーで任意のフォルダを右クリックしたときに「Git Bash Here」が表示されるようになり、作業効率が上がります。
  • PATHの設定:「Git from the command line and also from 3rd-party software」
    → 他のツールでもGitを使えるようにするため、これを選ぶのがおすすめです。
  • 改行コード(CRLF vs LF)設定
    → デフォルトの「Checkout Windows-style, commit Unix-style」でOKです。

Git Bashの起動方法(3つのルート)

インストールが完了すると、Git Bashは次の3通りで開けます。用途に応じて使い分けると効率が上がります。

  1. スタートメニューから:Windowsキーを押して「git bash」と入力し、表示された「Git Bash」を選びます。もっとも確実な方法です。
  2. フォルダを右クリック →「Git Bash Here」そのフォルダを作業ディレクトリにした状態で起動できるため、実務ではこれが一番よく使われます。
    💡 Windows 11では、右クリックメニューに「Git Bash Here」が見当たらないことがあります。その場合は右クリックメニュー下部の「その他のオプションを表示」(または Shift + F10)をクリックすると、従来のメニューが開いて表示されます。
  3. コマンドプロンプトやPowerShellから"C:\Program Files\Git\bin\bash.exe" --login -i を実行しても開けます。ショートカットやタスクスケジューラから呼び出したいときに使います。

起動直後の「MINGW64」プロンプトの読み方

起動すると、次のような表示が出ます。見慣れない単語が並ぶため戸惑いやすいのですが、意味が分かればどうということはありません。

taro@DESKTOP-A1B2C3 MINGW64 ~
$
表示意味
taroWindowsのユーザー名
DESKTOP-A1B2C3PCの名前(コンピューター名)
MINGW6464bit版のGit Bashで動いていることを示す目印。エラーではありません
~現在いる場所。~ はホームフォルダ(C:\Users\taro)を意味する
$入力待ちの記号。この後ろにコマンドを打つ($ 自体は入力しない)

「MINGW64ってエラー?」と検索する方が多いのですが、これは正常な表示です。MinGW(Minimalist GNU for Windows)の64bit環境で動作していることを示しているだけで、対処は不要です。

Gitリポジトリの中に移動すると、末尾にブランチ名が追加されます。これはGit Bash独自の便利な機能で、いま自分がどのブランチにいるかが常に見えるようになっています。

taro@DESKTOP-A1B2C3 MINGW64 ~/myproject (main)
$

動作確認:最初に打つコマンド

起動できたら、まずはバージョンを表示して動作を確認しましょう。

$ git --version
git version 2.55.0.windows.3

$ bash --version
GNU bash, version 5.3.9(1)-release (x86_64-pc-msys)

バージョン番号はインストールした時期によって変わりますが、git version … と表示されれば導入は成功です。bash: git: command not found と出る場合は、インストール時にPATHの設定を飛ばした可能性があるため、インストーラーを再実行して「Git from the command line and also from 3rd-party software」を選び直してください。

インストール後の初期設定(git config)

Git Bashを使い始める前に、ユーザー名とメールアドレスを設定しておきましょう。この情報はコミット履歴に記録される必須の設定で、未設定のままコミットしようとするとエラーが発生します。

# ユーザー名を設定(Git Bashを開いて入力)
git config --global user.name "あなたの名前"

# メールアドレスを設定
git config --global user.email "you@example.com"

# 設定内容の確認
git config --list

--global オプションを付けることで、PCのすべてのリポジトリに共通の設定として保存されます。Windowsでは設定内容が C:\Users\ユーザー名\.gitconfig に保存されます。git configコマンドの詳しい使い方については、専用の解説記事もご参照ください。

あわせて、最初のブランチ名も設定しておくことを強くおすすめします。設定しないまま git init を実行すると、ブランチ名が master になったうえで次のような案内が表示されます。

$ git init
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
Initialized empty Git repository in /c/Users/taro/myproject/.git/

GitHubの既定ブランチは main なので、合わせておくと git push origin main がそのまま通ります。次の1行を実行しておきましょう。

git config --global init.defaultBranch main

💡 すでに master で作ってしまったリポジトリは、git branch -m main で改名できます。

Git Bashの基本的な使い方

Git Bashは、Gitの操作とUnixライクなコマンド操作の両方をWindows上で行える非常に便利なツールです。このセクションでは、代表的な使い方を具体的に紹介します。

Gitコマンドの実行(clone, add, commit, push など)

Git Bashを使えば、GUIなしでGitリポジトリの操作が行えます。以下は基本的な流れです。

# リモートリポジトリをクローン
git clone https://github.com/ユーザー名/リポジトリ名.git

# 作業ファイルのステータス確認
git status

# ファイルをステージに追加
git add .

# コミットを作成
git commit -m "初回コミット"

# リモートにプッシュ
git push origin main

コマンドは1行ずつ入力し、Enterを押して実行します。エラーが出た場合は、メッセージを読み取って原因を確認しましょう。

実行例:新しいプロジェクトを最初のコミットまで進める

文字だけでは掴みにくいので、実際の画面出力つきで一連の流れを見てみましょう。$ で始まる行が入力するコマンド、それ以外がGitからの応答です。

$ ls
README.md  src

$ git status
On branch main

No commits yet

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

nothing added to commit but untracked files present (use "git add" to track)

$ git add .

$ git commit -m "初回コミット"
[main (root-commit) de6cd85] 初回コミット
 2 files changed, 1 insertion(+)
 create mode 100644 README.md
 create mode 100644 src/app.js

$ git log --oneline
de6cd85 初回コミット

ポイントは3つです。

  • git add .成功しても何も表示されません。無反応でもエラーではないので、git status で結果を確認します。
  • コミット時の de6cd85コミットを識別するIDです。実行するたびに異なる値になります。
  • git status が出す (use "git add <file>..." …)次に打つべきコマンドのヒントです。迷ったらこの行を読むのが近道です。

ファイル操作系のUnixコマンド(ls, cd, touch, mkdir, rmなど)

Git Bashでは、Linux系の基本コマンドも使えます。主なコマンドは以下のとおりです。

コマンド内容
lsフォルダ内のファイル一覧を表示
cdディレクトリの移動(例:cd Documents
pwd現在のディレクトリを表示
touch file.txt空のファイルを作成
mkdir myfolder新しいフォルダを作成
rm file.txtファイルを削除(rm -rでフォルダ削除)

Windowsでよく使うdirdelではなく、Unix準拠のこれらのコマンドを使うことで、Linuxの操作にも慣れていけます。

Bashスクリプトの実行(簡単な .sh ファイル例)

Git Bashでは、Bashスクリプト(.sh ファイル)も実行できます。たとえば以下のようなスクリプトを作成して、自動処理を行うことも可能です。

スクリプト例:hello.sh

#!/bin/bash
echo "Hello, Git Bash!"

実行方法

  1. スクリプトファイルを保存
  2. Git Bashでそのファイルがあるディレクトリに移動
  3. 以下のコマンドを実行
bash hello.sh

chmod +x hello.sh を使えば実行権限を付与し、./hello.sh のように直接実行することもできます。

スクリプトを使うことで、複数のコマンドをまとめて処理したり、定期作業を自動化することも可能になります。Git Bashはただのターミナルではなく、開発効率を上げる道具として活用できるのです。

よく使うコマンド一覧(Git+Linux系)

Git Bashでは、Gitの操作に加えてLinux系の基本コマンドも使用できます。このセクションでは、よく使うコマンドを早見表形式で紹介します。コマンドに慣れておくことで、作業の効率が大きく向上します。

Gitコマンド早見表(操作別に整理)

操作内容コマンド説明
リポジトリの複製git clone <URL>GitHubなどからローカルにコピー
初期化git initカレントディレクトリをGit管理下にする
状態の確認git status変更・追加されたファイルを確認
変更をステージgit add <ファイル名>コミットの対象に追加(git add .ですべて)
コミットの実行git commit -m "コメント"ステージ内容を記録
リモートへ送信git push origin main変更をGitHubなどへ反映
最新の取得git pullリモートの変更を取り込む
履歴の確認git logコミット履歴を表示

💡 よく使うコマンドの詳細解説:git init(新しいリポジトリの作成方法)や git config(Git設定の管理)については、それぞれ詳しい解説記事もあわせてご覧ください。

Unixコマンド早見表(初心者向け)

操作内容コマンド説明
現在のフォルダを表示pwd“print working directory” の略
フォルダの中を見るlsファイル一覧を表示(ls -lで詳細表示)
フォルダを移動するcd フォルダ名cd ..で一つ上へ
空ファイルを作るtouch ファイル名例:touch index.html
フォルダを作るmkdir フォルダ名mkdir logs など
ファイルを削除rm ファイル名rm -r フォルダ名でディレクトリ削除
ファイルの中を見るcat ファイル名簡易的に内容を確認

Git Bashで使えるLinuxコマンドをより体系的に学びたい方は、Linuxコマンド完全ガイドも参考にしてください。初心者が最初に覚えるべきコマンドを用途別にまとめています。

Windowsとの違いがわかる補足(例:dir vs ls)

Git Bashを初めて使うときに戸惑いやすいのが、Windowsコマンドとの違いです。以下のように置き換えて覚えるとスムーズです。

WindowsコマンドGit Bashでのコマンド内容
dirlsファイル一覧の表示
cdcdフォルダの移動(共通)
copycpファイルのコピー
delrmファイルの削除
mkdirmkdirフォルダ作成(共通)

コマンドの形式やオプションが異なる場合もあるので、最初は慣れが必要ですが、Linux系の操作に慣れておくと将来的に開発やサーバー運用にも役立ちます。Git Bashを通じて、自然とUnixコマンドの感覚が身につくでしょう。

Windowsのパスの書き方(C:\ と /c/ の違い)

Git Bashを使い始めた人が最初につまずくのが、ほぼ確実にここです。エクスプローラーからコピーしたパスを貼り付けて cd したのに、フォルダが見つからないと言われる——という現象です。

なぜ cd C:\Users\taro は失敗するのか

まず、実際に失敗する様子を見てみましょう。

$ cd C:\Users\taro
bash: cd: C:Userstaro: No such file or directory

注目すべきは、エラーメッセージが C:\Users\taro ではなく C:Userstaro(バックスラッシュが消えている)になっている点です。

これはBashにおいて、バックスラッシュ \ が「次の1文字をそのまま扱う」ためのエスケープ記号だからです。\U は「U」、\t は「t」として解釈され、区切り文字としてのバックスラッシュは消えてしまいます。フォルダが存在しないのではなく、パスの文字列そのものが壊れているのが原因です。

正しい書き方は3通り

Git Bashでは、Windowsのドライブは C:\/c/ という形のUnix風パスで表現されます。次の3つはいずれも同じフォルダを指し、すべて正しく動きます。

# ① 推奨:Unix形式(先頭がドライブレター、区切りはスラッシュ)
$ cd /c/Users/taro

# ② スラッシュに置き換えるだけでもOK
$ cd C:/Users/taro

# ③ Windows形式のままなら、必ずクォートで囲む
$ cd "C:\Users\taro"

③のようにダブルクォートで囲めば、バックスラッシュがエスケープとして解釈されなくなるため、エクスプローラーからコピーしたパスをそのまま貼り付けて使えます。実務ではこれが一番手軽です。

💡 フォルダをGit Bashのウィンドウにドラッグ&ドロップすると、そのパスが自動で入力されます。cd と打ってからドロップすれば、タイプミスなく移動できます。

いまどこにいるかを確認する(pwd)

移動できたか不安なときは pwd で現在地を確認します。Git Bashでは -W オプションを付けると、Windows形式のパスに変換して表示できます。

$ pwd
/c/Users/taro/myproject

$ pwd -W
C:/Users/taro/myproject

Excelや他のWindowsアプリにパスを伝えたいときは pwd -W が便利です。

よく使うフォルダへのショートカット

書き方実際の場所
cd ~ホームフォルダ(C:\Users\ユーザー名
cd ~/Desktopデスクトップ
cd /c/Cドライブ直下(C:\
cd /d/Dドライブ直下(D:\
cd ..1つ上のフォルダ
cd -直前にいたフォルダに戻る

⚠️ フォルダ名にスペースが含まれる場合もクォートが必要です。cd /c/Program Files は失敗しますが、cd "/c/Program Files" なら成功します。なお Program まで打って Tab キーを押すと、Git Bashが自動で Program\ Files と補完してくれます。

応用:スラッシュ始まりの引数が勝手に書き換わるとき

やや上級者向けですが、Git Bashには/ で始まる引数をWindowsのパスだと解釈して自動変換する」仕組みがあります。そのため、パスではない引数まで意図せず書き換えられることがあります。

たとえば /usr/bin/bash.exe という文字列は C:\Program Files\Git\usr\bin\bash.exe に変換されてしまいます。これを止めるには、MSYS_NO_PATHCONV=1 を一時的に指定します。

# 自動変換を止めてコマンドを実行する
MSYS_NO_PATHCONV=1 git blame -L/pathconv/ msys2_path_conv.cc

もうひとつの手として、先頭のスラッシュを2つに増やす方法もあります(//usr/bin/bash.exe)。docker execcurl のオプションで想定外の挙動になったときは、この変換を疑ってみてください。

環境変数の確認とPATHの通し方

Git BashはWindowsの環境変数をそのまま引き継ぎます。ただし書き方がWindowsとは異なるため、ここも混乱しやすいポイントです。

環境変数を確認する

# すべての環境変数を一覧表示
$ printenv

# 特定の変数だけを表示($ を付けるのがBash流)
$ echo $HOME
/c/Users/taro

# Windows側の変数も引き継がれている
$ echo $USERPROFILE
C:\Users\taro

# PATHを1行1件で見やすく表示する
$ echo $PATH | tr ':' '\n'

コマンドプロンプトの %PATH%、PowerShellの $env:PATH に対して、Git Bashでは $PATH と書きます。また区切り文字がセミコロン ; ではなくコロン : である点にも注意してください。

PATHを通す(一時的/恒久的)

その場かぎりで良いなら export を使います。Git Bashを閉じると消えます。

$ export PATH="$PATH:/c/tools/bin"

毎回有効にしたい場合は、ホームフォルダの ~/.bashrc に同じ行を書き足します。Git Bashでは .bashrc が最初から用意されていないことがあるので、無ければ新規作成してかまいません。

# .bashrc に追記する(ファイルが無ければ新規作成される)
$ echo 'export PATH="$PATH:/c/tools/bin"' >> ~/.bashrc

# 書き換えた設定をその場で反映する(Git Bashの再起動でも可)
$ source ~/.bashrc

# 反映されたか確認
$ echo $PATH | tr ':' '\n' | tail -1
/c/tools/bin

この ~/.bashrcC:\Users\ユーザー名\.bashrc に置かれます。エイリアスやプロンプトのカスタマイズもここに書きます。設定ファイルの使い分け(.bashrc.bash_profile の違いなど)は bash profileの設定とカスタマイズ完全ガイド で詳しく解説しています。

💡 Windowsのシステム設定側でPATHを変更した場合は、Git Bashを一度閉じて開き直す必要があります。起動中のGit Bashには反映されません。

日本語の文字化け・日本語入力でつまずいたときの対処

日本語環境のWindowsでは、文字コードの違いによるトラブルが起きがちです。症状ごとに対処法が異なるので、当てはまるものを確認してください。

症状1:git status でファイル名が数字の羅列になる

日本語のファイル名が、次のように読めない形で表示されることがあります。

$ git status --short
?? "\343\203\241\343\203\242.md"
?? "\345\240\261\345\221\212\346\233\270.txt"

これはGit Bashの不具合ではなく、Gitが日本語などの非ASCII文字を数値表記に置き換えて出力する初期設定(core.quotepath)によるものです。次の1行で解決します。

$ git config --global core.quotepath false

設定後は、同じコマンドがきちんと日本語で表示されます。

$ git status --short
?? メモ.md
?? 報告書.txt

Gitを使い始めたら、user.nameuser.email と一緒に設定しておくことをおすすめします。

症状2:ls や cat の日本語が化ける

Git Bashの文字コードはUTF-8です。一方、Windowsのメモ帳などが作るテキストファイルはShift_JIS(CP932)のことがあり、そのまま cat すると化けます。

  • ファイル側を直す(推奨):エディタで「UTF-8」を指定して保存し直します。VS Codeなら画面右下の文字コード表示から変更できます。
  • 表示するときだけ変換するiconv を使えば、ファイルを書き換えずに読めます。
    iconv -f CP932 -t UTF-8 memo.txt
  • ロケールを明示する~/.bashrcexport LANG=ja_JP.UTF-8 を追記すると改善する場合があります。

症状3:日本語が入力できない・変換候補が見えない

Git Bashの標準ウィンドウ(MinTTY)は、日本語入力(IME)との相性があまり良くありません。変換候補のウィンドウが表示されない、入力した文字が重なって見える、といった症状が起きることがあります。

対処法は次のとおりです。

  • Windows TerminalやVS Codeの統合ターミナルからGit Bashを開く(もっとも確実)。これらはIMEの扱いが改善されており、日本語入力が安定します。設定方法は後述の連携セクションをご覧ください。
  • コミットメッセージはエディタで書くgit commit-m なし)を実行すればエディタが開くので、そこで日本語を入力すれば端末のIME問題を回避できます。
  • 別の場所で書いて貼り付ける:メモ帳などで書いた日本語を Shift + Insert で貼り付ける方法も有効です。詳しくは Git Bashのコピー・貼り付け完全ガイド で解説しています。

症状4:文字幅が崩れる・フォントを変えたい

罫線や絵文字がずれる場合は、フォントを等幅の日本語対応フォントに変更します。Git Bashのウィンドウ上部のタイトルバーを右クリック →「Options…」→「Text」から、「MS ゴシック」や「BIZ UDゴシック」などを選んでください。同じ画面の「Locale」を ja_JP、「Character set」を UTF-8 にしておくと、文字化けの予防にもなります。

他のターミナルとの比較(どれを使うべき?)

Git Bashは便利なツールですが、Windowsには他にもさまざまなターミナル(シェル)があります。それぞれに特徴があり、用途によって使い分けるのが効果的です。ここでは代表的なターミナルとGit Bashの違いを比較し、適切な選び方の参考にしていただけます。

Git Bash vs コマンドプロンプト(CMD)

項目Git BashCMD
主な用途Git操作・UnixコマンドWindowsの基本操作
コマンド体系Linux系DOS系(独自)
スクリプト.sh.bat
拡張性高い(Bashスクリプト)限定的
初心者向け△(できることは少なめ)

違いのポイント:
CMDは古くからあるWindows標準のターミナルですが、機能は限定的で開発用途には不向きです。一方Git Bashは、Git操作やUnix系のコマンドが使えるため、学習コストを抑えて実践的な作業ができます。

Git Bash vs PowerShell

項目Git BashPowerShell
主な用途Git・シェル操作Windowsの管理・自動化
コマンド体系Unix系PowerShell独自(Cmdlet)
スクリプト.sh.ps1
出力テキストベースオブジェクトベース
学習曲線緩やかやや急(記述が長い)

違いのポイント:
PowerShellは強力な自動化ツールであり、システム管理に向いています。ただし、GitやUnix的な操作に慣れたい場合はGit Bashの方が直感的で覚えやすいでしょう。

Git Bash vs WSL(Windows Subsystem for Linux)

項目Git BashWSL
環境Bashエミュレータ実際のLinux環境
利用できるツール一部Unixコマンド完全なLinuxディストリビューション
パフォーマンス軽量高機能だがやや重い
導入難易度低いやや高い(初期設定あり)
適している用途Git操作・軽作業本格的なLinux開発・検証

違いのポイント:
WSLはLinuxそのものであり、Git Bashよりも本格的な作業が可能です。ただし、導入や管理に手間がかかるため、まずはGit Bashで基礎を習得し、必要になったらWSLへステップアップするのが良い流れです。

シナリオ別の選び方:

  • Git操作・JavaScriptやPythonのフロントエンド開発が中心 → Git Bashで十分。追加設定なしで即使えて軽快に動作する
  • DockerやLinux固有のツール・パッケージ管理(apt)が必要 → WSL2を推奨。本物のLinuxカーネルで動作し、apt installも使える
  • 初めてコマンドラインに挑戦する初心者 → Git Bashから始めるとハードルが低く、インストールも数分で完了する
  • 本番サーバーと同等の環境(systemd、cronなど)が欲しい → WSL2を推奨。本番サーバーと近い環境で開発できる
  • Windowsファイルとの連携を多用する → Git Bash。エクスプローラーとの親和性が高く、右クリック「Git Bash Here」で即起動できる

「windows wsl」や「wsl bash」を調べている方は本格的なLinux環境を求めているケースが多いです。詳しくは WSL入門ガイド をご参照ください。Git操作に特化した軽量環境であれば、Git Bashの方が導入も使いやすさも優れています。

Git Bash vs Cygwin

項目Git BashCygwin
軽さ△(重め)
対応範囲必要最低限のUNIXコマンドより広範囲なPOSIX互換
インストール簡単(Git for Windows)カスタマイズに手間がかかる
学習コスト低いやや高い

違いのポイント:
Cygwinはより高度なUNIX環境を提供しますが、そのぶん導入が複雑です。Git BashはGit操作が中心のユーザーにとっては十分な機能を備えており、手軽さが魅力です。

向いている用途・選び方のアドバイス

ユースケース向いているツール
Git操作と軽いUnixコマンドを使いたいGit Bash
Windowsのシステム設定や自動化を行いたいPowerShell
本格的なLinux環境で開発したいWSL
Windows上で幅広いUnixツールを使いたいCygwin
とにかく簡単に始めたいGit Bash or CMD

初心者やGitを覚えたい人には、Git Bashが最も導入しやすく、開発現場でも通用する基礎力を身につけやすい選択肢です。シンプルな環境から始めて、必要に応じて他のターミナルに移行するとスムーズです。

Git Bashのメリット・デメリット

Git BashはWindowsユーザーにとって非常に便利なツールですが、完璧な選択肢というわけではありません。ここでは、実際に使ううえで感じやすいメリットとデメリットを整理して紹介します。

✔ メリット

インストールが簡単

Git Bashは「Git for Windows」をインストールするだけで使えるため、初学者でも導入しやすいのが大きな特徴です。複雑なセットアップや構成は不要で、数回のクリックだけでGitとBash環境が手に入ります。

GitとLinuxコマンドが同時に使える

Gitコマンド(git statusgit commitなど)と、Unix系のコマンド(ls, cd, rmなど)を同じターミナル内で使えるのが最大の利点です。GUIツールでは味わえない柔軟な操作が可能になります。

Windowsと共存できる

Git BashはWindowsに最適化されており、エクスプローラーの右クリックから直接起動したり、Windowsのファイルパスとも連携しやすいです。必要に応じて.exeファイルもコマンドから実行できます。

スクリプト自動化も可能

Bashスクリプト(.shファイル)を使って、Git操作やファイル処理の自動化が可能です。定型業務を効率化したり、複数コマンドを一括実行する仕組みを簡単に構築できます。


✖ デメリット

完全なLinux互換ではない

Bash自体は本物ですが、その下で動いているのはLinuxカーネルではなく、Windows向けのPOSIX互換レイヤーです。そのため apt installyum といったパッケージマネージャは使えず、後からコマンドを追加インストールすることは基本的にできません。systemdcron、Dockerも動きません。「Linuxのコマンドが使える」であって「Linuxが動く」ではないと理解しておくと、期待とのズレがなくなります。こうした用途には WSL2 を使ってください。

また、細かい話ですが git svn はメンテナンス上の都合により Git for Windows 2.54.0(2026年4月)で同梱が終了しました。Subversion連携が必要な場合はWSL側のGitを使う必要があります。

Windowsコマンドとの使い分けが必要

Git Bashではipconfigdirなど、Windows特有のコマンドがそのままでは動かないことがあります。一部は.exeで呼び出せますが、PowerShellやCMDとは挙動が異なるため、状況に応じた切り替えが必要です。

ターミナルとしての機能はシンプル

標準のGit Bashウィンドウには、タブ機能や高度なカスタマイズ性はありません。複数のウィンドウを管理したり、テーマ変更などをしたい場合は、Windows TerminalやVS Codeの統合ターミナルと組み合わせるのが良いでしょう。


Git Bashは、「軽量で手軽にGitとUnixコマンドを使いたい」というニーズに非常によく応えるツールです。大規模なLinux開発には向きませんが、Git操作や日常的な開発作業には十分な機能を備えています。まずはGit Bashから始めて、必要に応じて他のターミナル環境へステップアップするのがおすすめです。

開発に活かす!Git Bash活用のコツ

Git Bashはただの「Git操作用ツール」にとどまりません。日々の開発作業を効率化するための、さまざまな活用方法があります。このセクションでは、より便利に使うためのコツを紹介します。

Windows Terminal や VS Code との連携

Git Bashの標準ウィンドウ(MinTTY)はタブ機能がなく、日本語入力にもクセがあります。Windows TerminalかVS Codeから開くようにすると、この2つの弱点がまとめて解消します。Git Bashに慣れてきたら、まっさきに設定しておきたい項目です。

💡 Windows Terminalに追加する

Windows Terminalを使えば、複数のターミナル(PowerShell、CMD、WSL、Git Bashなど)をタブで切り替えて管理できます。

まずは新しいタブの「+」の右にある下向き矢印(∨)を押して、一覧に「Git Bash」があるか確認してください。環境によっては自動的に追加されており、その場合は設定不要です。見当たらない場合は、「設定」→「JSONファイルを開く」から profileslist に次の項目を追加します。

{
    "name": "Git Bash",
    "commandline": "C:\\Program Files\\Git\\bin\\bash.exe -li",
    "icon": "C:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico",
    "startingDirectory": "%USERPROFILE%"
}

-li は「ログインシェルとして対話的に起動する」という意味で、--login -i と同じです。これを付けないと ~/.bash_profile~/.bashrc が読み込まれず、エイリアスやPATHの設定が効かないので忘れないようにしてください。startingDirectory を指定しておくと、常にホームフォルダから始まります。

💡 VS Codeとの連携

Visual Studio Codeでは、ターミナルの既定シェルにGit Bashを指定することが可能です。設定ファイルに以下を追加します:

"terminal.integrated.defaultProfile.windows": "Git Bash",
"terminal.integrated.profiles.windows": {
  "Git Bash": {
    "path": ["C:\\Program Files\\Git\\bin\\bash.exe"]
  }
}

こうすることで、エディタ内からGit Bashをすぐに呼び出せるため、開発とGit操作がシームレスにつながります。


スクリプト自動化の小技(例:git pull 自動化)

Bashスクリプトを使えば、繰り返し行う作業を自動化できます。例えば、複数のリポジトリを定期的に更新する場合、次のようなスクリプトが便利です。

🔧 複数リポジトリを自動で更新するスクリプト例:auto_pull.sh

#!/bin/bash

cd ~/projects/project1
git pull

cd ~/projects/project2
git pull

cd ~/projects/project3
git pull

保存したら以下で実行できます:

bash auto_pull.sh

Windowsタスクスケジューラと組み合わせれば、定期実行も可能です。


コマンド入力の補完や履歴を活用する方法

Git Bashには、コマンド入力の補完や履歴機能も備わっています。

  • Tabキー補完:コマンドやファイル名を途中まで入力してTabを押すと、自動補完されます。候補が複数ある場合は再度押すことで一覧が表示されます。
  • ↑ / ↓キーで履歴呼び出し:過去に打ったコマンドを上下キーで遡ることができます。繰り返し使うコマンドを再入力する手間が省けます。
  • .bash_history:ホームディレクトリに保存される履歴ファイルです。必要なら直接編集や削除もできます。

✅ 補足:よく使うコマンドはエイリアスにすると便利

~/.bashrc に以下のような設定を追加すれば、エイリアス(短縮コマンド)を使えます。

alias gs='git status'
alias ga='git add .'
alias gc='git commit -m'

こうすることで、gsと打つだけでgit statusが実行できるようになり、作業スピードが大きく向上します。


Git Bashを“使いこなす”ためには、こうした連携・自動化・補完の活用が鍵になります。普段の作業に少しずつ取り入れることで、開発効率が確実にアップします。

Git BashでSSH鍵を作成してGitHubに接続する

GitHubやGitLabにSSH接続する場合、Git Bash上でSSH鍵ペアを作成し、公開鍵を登録します。HTTPS接続と違い、毎回のパスワード入力(トークン入力)が不要になるため、Gitを使い始めたら早めに設定しておくと便利です。

SSH鍵の作成

Git Bashを開き、以下のコマンドでSSH鍵ペアを作成します。

ssh-keygen -t ed25519 -C "your_email@example.com"

保存先を聞かれたらそのままEnterでOKです。~/.ssh/id_ed25519(秘密鍵)と~/.ssh/id_ed25519.pub(公開鍵)が作成されます。オプションや旧環境向けのRSA鍵での作成方法は ssh-keygenの使い方 で詳しく解説しています。

公開鍵をGitHubに登録する

公開鍵の内容をクリップボードにコピーし、GitHubの「Settings → SSH and GPG keys → New SSH key」に貼り付けます。

cat ~/.ssh/id_ed25519.pub

登録後は以下のコマンドで接続を確認できます。

ssh -T git@github.com

「Hi ユーザー名! You’ve successfully authenticated」と表示されれば接続成功です。毎回パスフレーズの入力を求められる場合は、ssh-agentに鍵を登録しておくと、Git Bash起動中はパスフレーズの再入力が不要になります。

よくある質問(Q&A)

Git Bashの使い方やトラブルに関して、よくある質問をまとめました。初心者がつまずきやすいポイントをカバーしているので、該当する項目があればぜひチェックしてみてください。


Q. Git BashとGit GUIはどっちを使うべき?

A. 慣れるまではGUI、慣れたらGit Bashがおすすめです。

Git GUIは視覚的にわかりやすく、操作に不安がある初心者にも使いやすいツールです。一方で、Git Bashはコマンドによって柔軟かつ素早く操作でき、より細かいGitの制御が可能になります。

将来的にチーム開発やGitHubを本格的に使うなら、Git Bashに慣れておくと役立つ場面が多いです。両方を併用するのも良い選択です。


Q. Git Bashが起動しない・文字化けするときは?

A. 以下を順に確認しましょう。

  • 起動しない場合
    • Gitのインストールが正しく完了しているか確認(再インストールが有効な場合あり)
    • セキュリティソフトが起動をブロックしていないか
    • スタートメニューではなく「Git Bash Here」から試す
  • 文字化けする場合
    • フォント設定を変更(プロパティ→フォント→「MS ゴシック」など)
    • 日本語ファイル名が文字化けする場合は、UTF-8でファイルを保存するようにする
    • .bashrcexport LANG=ja_JP.UTF-8 を追加すると改善することも

👉 文字化けの症状別の対処法は、日本語の文字化け・日本語入力でつまずいたときの対処で詳しく解説しています。


Q. Bashって危険?rmコマンドで消えないようにするには?

A. コマンド次第では危険なので、慎重な操作が必要です。

特にrm -rfは、誤って重要なファイルやフォルダを削除する危険があります。安全に使うためには以下の対策をおすすめします:

  • rm-i(確認付き)を付けて操作する:rm -ri folder/
  • .bashrcに以下を追加し、確認付きにエイリアスする:
alias rm='rm -i'

これにより、削除前に「本当に消しますか?」と聞かれるようになります。


Q. Git BashでPowerShellやCMDのコマンドは使える?

A. 一部のコマンドは使えますが、完全互換ではありません。

Git Bash上でも、ipconfig.exenotepad.exe のような 拡張子付きのWindows実行ファイルであれば起動可能です。

ipconfig.exe
notepad.exe

ただし、PowerShell特有のGet-ProcessなどのCmdletは使用できません。必要な場合はpowershellと入力して、PowerShellシェルに切り替えるのが良いでしょう。


Q. PythonやNode.jsを対話モードで起動すると固まるのはなぜ?

A. 古い環境で起きる現象です。Git for Windowsを最新版に更新すれば解消します。

pythonnode をそのまま実行すると、画面が反応しなくなったり the input device is not a TTY と表示されたりすることがありました。これはGit Bashの端末(MinTTY)とWindowsのコンソールアプリの相性による問題で、従来は winpty python のように winpty を頭に付けて回避するのが定番でした。

現在はWindows側の擬似コンソール機能への対応が進み、Git for Windows 2.54.0(2026年4月)では、この回避策のために用意されていた内部設定が「不要になった」として削除されています。古い記事の winpty 指定を見かけても、まずは git --version でバージョンを確認し、古ければ更新するのが先です。

# Git for Windows を最新版に更新する
git update-git-for-windows

Q. 起動時のフォルダをいつも使う場所に変えたい

A. ショートカットの「作業フォルダー」を変更するのが簡単です。

スタートメニューの「Git Bash」を右クリック →「ファイルの場所を開く」→ 出てきたショートカットを右クリック →「プロパティ」と進み、「作業フォルダー」欄に開きたいフォルダのパス(例:C:\Users\taro\projects)を入力します。

設定ファイルで済ませたい場合は、~/.bashrc の末尾に移動コマンドを書く方法もあります。

cd /c/Users/taro/projects

Git Bashはあくまで「Unix風」の操作環境ですが、Windowsとの連携もある程度可能です。うまく使い分けながら、自分に合った開発環境を整えていきましょう。

まとめ:Git Bashはこんな人におすすめ

Git Bashは、Windows環境でGitとLinux系コマンドの操作を両立できる便利なツールです。以下のような方に特におすすめできます。

Git初心者〜中級者でコマンドに慣れたい方

Gitの基本操作(clone、commit、push など)をコマンドラインで覚えることで、仕組みへの理解が深まり、トラブル対応力も向上します。GUIツールだけでは得られない、コマンドベースの柔軟な操作を身につけたい方に最適です。

LinuxコマンドをWindowsで扱いたい方

ls, cd, rm, touch など、Linux系の基本コマンドをWindows上でそのまま使える環境は、学習・開発の双方に役立ちます。将来的にLinuxサーバーやクラウド環境を扱う予定がある方は、Git Bashで慣れておくとスムーズです。

簡単に開発環境を整えたい方

WSLやCygwinほどの重厚なセットアップをせずとも、Git Bashは数分で導入可能な軽量ツールです。Gitをインストールするだけで、すぐに開発を始められる手軽さが魅力です。


Git Bashは、「まずはシンプルに、でも本格的に学びたい」という人にとってベストな選択肢です。迷ったらまず導入して触ってみる。そこから次の一歩がきっと見えてきます。


次のステップ:Git Bashを使いこなすための関連記事

Git Bashを導入したら、次は以下の操作を習得していきましょう。それぞれの詳細な解説記事もご用意しています。

  • Linuxコマンド完全ガイド
    Git Bashで使えるLinux系コマンドを用途別に整理した入門ガイドです。lscdgrepなど、初心者が最初に覚えるべきコマンドを体系的に学べます。
  • git init – 新しいリポジトリを作成する
    新しいプロジェクトをGitで管理し始めるための最初のコマンド。ディレクトリをGitリポジトリとして初期化します。
  • git config – Gitの設定を管理する
    ユーザー名・メールアドレスの設定から、エイリアス・デフォルトエディタの設定まで。Git利用前の必須設定コマンドを詳しく解説します。
  • Git完全ガイド
    clone・add・commit・pushの基本フローからブランチ操作まで、Gitの全体像を学べる入門ガイドです。
  • Git Bash コピー・貼り付け完全ガイド
    Ctrl + C が効かない理由と、Git Bashでのコピペのショートカット・設定変更方法をまとめています。最初につまずきやすいポイントです。
  • WindowsでBashを使う3つの方法(WSL2 / Git Bash / PowerShell比較)
    WSL2・Git Bash・PowerShell経由の3大手法を比較し、目的別にどれを選ぶべきかを整理した完全ガイドです。Git Bash以外の選択肢も検討したい方はこちらから。
  • WSL入門ガイド
    aptやDockerなど、Git Bashでは動かない本格的なLinux環境が必要になったときの次のステップです。

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする