Git を入れる(ホストと Docker) — Git Tips
Git は変更履歴を分岐・合流できる分散型のバージョン管理です。入れ方はホストに入れるか、Docker コンテナ内で apt install するかの大きく2通りです。
参考(公式)
- Git - Downloads
- Git for Windows
- Pro Git — Getting Started: Installing Git
- Docker Desktop 概要
- docker compose CLI reference
目次
- Git とは何か
- ホストに Git for Windows を入れる
- Docker Desktop を入れる(概要のみ)
- Docker でコンテナ内に Git を入れる
- バージョンを確認する
- Docker が使えない場合のローカル代替
- うまくいかないとき
Git とは何か
Git は、ファイルの変更を「スナップショット」として記録するバージョン管理システムです。中央のサーバーが無くても手元だけで履歴を残せる 分散型 という点が、CVS や Subversion のような集中型のシステムと違うところです。
| 特徴 | 内容 |
|---|---|
| 記録単位 | 変更差分ではなく、その時点のスナップショット |
| 動作場所 | ローカルで完結(サーバー接続なしでも commit できる) |
| 分岐 | ブランチの作成・切り替えが軽量 |
| 分散型 | 各作業者が履歴の完全なコピーを持つ |
インストール先の選択肢は 2 つです。
| 選択肢 | 向いている人 |
|---|---|
| ホスト(Git for Windows) | 手元の任意のフォルダで普段からすぐ Git を使いたい人 |
| Docker コンテナ | OS を汚さず、apt install からの練習を何度も繰り返したい人 |
どちらか一方だけでも構いませんし、両方を用途に応じて使い分けても問題ありません。以降の記事のコマンド例は、どちらの環境でもそのまま動きます。
ホストに Git for Windows を入れる
Windows のホストに直接インストールする場合は Git for Windows を使います。
- gitforwindows.org を開き、
Downloadからインストーラーを取得する - インストーラーを実行し、基本的にはウィザードの既定値のまま
Nextで進める - 完了したら、新しいターミナル(PowerShell または同梱の Git Bash)を開く
git --versionで動作確認する(次の バージョンを確認する を参照)
git --versionGit for Windows には Git Bash という bash 互換ターミナルが同梱されます。Linux 系のチュートリアルに出てくる bash のコマンド例は、この Git Bash でそのまま動くことが多いです。PowerShell を使う場合、Git の各コマンド自体(git status など)は同じですが、ファイル操作コマンド(ls と dir、cat と Get-Content など)はシェルごとに異なる点に注意してください。
インストール直後に git が見つからないとき
インストーラー実行中のターミナルは PATH の変更を反映していないことがあります。ターミナルを一度閉じて、新しく開き直してから再確認してください。
Docker Desktop を入れる(概要のみ)
Docker を使ったコンテナ練習環境(後述)を使う場合は、事前に Docker Desktop が必要です。インストール手順の詳細な解説は Docker の教材側に譲り、ここでは概要だけを示します。
- Docker Desktop をダウンロードしてインストールする
- インストール後に Docker Desktop を起動し、タスクトレイのアイコンが「Running」になるまで待つ
- ターミナルで動作確認する
docker --versiondocker compose versionDocker Desktop の詳しい設定(WSL2 連携、リソース割り当てなど)や日常的な操作(build / run / ps など)は Docker 単体のトラブルシュートやチュートリアルを参照してください。ここで必要なのは「Git を動かす入れ物として起動できる」ところまでです。
Docker でコンテナ内に Git を入れる
リポジトリの setup フォルダ には、Ubuntu コンテナ上で Git を apt install するところから練習できる Docker Compose 環境が用意されています。イメージには最初から Git は入っておらず、コンテナを起動したあとで自分の手でインストールする構成になっています。
まずホスト側で、setup フォルダに移動してコンテナをビルド・起動します。
cd .\setupdocker compose builddocker compose up -ddocker compose exec ubuntu bash期待する結果(例)
| コマンド | 出力の目安 |
|---|---|
docker compose build |
末尾に Successfully built 相当のメッセージ |
docker compose up -d |
Container ... Started |
docker compose exec ubuntu bash |
プロンプトが root@...:/workspace# になる |
プロンプトが変わったら、コンテナの中に入っています。ここから先はコンテナ内(bash)での作業です。
apt updateapt install -y gitgit --versionapt update はパッケージ一覧を最新化し、apt install -y git で Git 本体を導入します。コンテナは既定で root ユーザーなので sudo は不要です。
コンテナを終了して抜けるときは exit を実行します。コンテナ自体を止める・削除するコマンドはこの教材の別ファイル(setup フォルダの README)にまとまっているため、ここでは深く踏み込みません。
バージョンを確認する
インストール後は、必ずバージョン確認コマンドで導入を確かめます。ホストでもコンテナ内でも同じコマンドです。
git --versiongit --version期待する出力(例)
git version 2.43.0バージョン番号は環境によって異なりますが、git version という文字列がエラーなく表示されれば導入は成功しています。
Docker が使えない場合のローカル代替
Docker Desktop が使えない、または使わない方針の場合は、OS ごとに Git を直接インストールします。
| OS | 方法 |
|---|---|
| Windows | ホストに Git for Windows を入れる を参照 |
| macOS | ターミナルで xcode-select --install、または Homebrew で brew install git |
| Linux(Debian / Ubuntu 系) | sudo apt update && sudo apt install -y git |
いずれの場合も、最後に git --version で確認する流れは共通です。この場合、以降の記事で「コンテナ内で」と書かれている部分は、そのまま手元のターミナルに読み替えて進められます。
うまくいかないとき
git が見つからない(git : 用語 'git' は... 認識されません など)
インストール直後の古いターミナルを使っていることが原因のほとんどです。ターミナルを新しく開き直してから、もう一度 git --version を実行してください。それでも直らない場合は、インストールをやり直します。
docker compose が no configuration file provided と言う
docker-compose.yml が置かれているフォルダ以外で実行しています。setup フォルダへ移動してから実行してください。
cd .\setupdocker compose up -ddocker compose exec ubuntu bash でコンテナに入れない
コンテナが起動していない可能性があります。状態を確認してから起動します。
docker compose psdocker compose up -ddocker compose exec ubuntu bashコンテナ内で apt install が Permission denied になる
この教材のコンテナは既定ユーザーが root のため、通常は権限エラーにはなりません。エラーが出る場合は apt update を先に実行していない、あるいはコンテナに正しく入れていない可能性があります。プロンプトが root@...:/workspace# になっているか確認してください。
Git Bash と PowerShell で挙動が違う
Git 自体のサブコマンド(git status など)は Git Bash・PowerShell のどちらでも同じです。違いが出るのは ls / dir、cat / Get-Content、パスの区切り文字(/ と \)などシェル側のコマンドです。Git のコマンドで詰まったときは、シェルの違いではなく Git 自体の状態(作業ディレクトリ、.git の有無など)を先に確認してください。
コンテナを消したら Git の設定も消えた
この教材のコンテナは /workspace や Git の設定(~/.gitconfig)を永続化していない構成のため、docker compose down や docker compose down -v のあとに再度 up すると、Git のインストールからやり直しになることがあります。これは「毎回同じ手順を練習する」ための意図的な設計です。