Gitのバージョン確認方法とバージョン別コマンド対応表
はじめに
Gitは後方互換性が高いため、バージョンを意識する場面は少ないです。ただし git switch や git restore など比較的新しいコマンドは古いGitでは使えません。
この記事ではバージョン確認方法と、バージョン別で使えるようになったコマンドをまとめます。
バージョン確認
git --version
git version 2.47.1
macOSの注意点:Apple製gitとHomebrew製git
macOSには標準でGitが入っていますが、Apple製のためバージョンが古いことがあります。
git --version # git version 2.39.3 (Apple Git-146)
(Apple Git-xxx) と表示される場合はApple製のgitです。Homebrewでインストールしたgitの方が新しいバージョンを使えます。
どちらのgitが使われているか確認する
which git # /usr/bin/git ← Apple製 # /opt/homebrew/bin/git ← Homebrew製
Homebrewのgitに切り替える
# Homebrewでインストール brew install git # PATHの確認(Homebrewが優先されているか) which git # /opt/homebrew/bin/git # バージョン確認 git --version # git version 2.47.1
Homebrewのgitが使われない場合は ~/.zshrc にパスを追加します。
export PATH="/opt/homebrew/bin:$PATH"
バージョン別コマンド対応表
| バージョン | 追加されたコマンド・機能 | 概要 |
|---|---|---|
| 2.5 | git worktree |
1つのリポジトリを複数ディレクトリで同時チェックアウト |
| 2.23 | git switch |
ブランチ切り替え(checkout から分離) |
| 2.23 | git restore |
ファイルの変更取り消し(checkout から分離) |
| 2.25 | git sparse-checkout |
大規模リポジトリの一部だけチェックアウト |
| 2.28 | init.defaultBranch |
デフォルトブランチ名の設定(main に変更可能) |
| 2.29 | git maintenance |
リポジトリのメンテナンス自動化 |
| 2.34 | SSH署名 | gpg.format=ssh でSSH鍵によるコミット署名 |
| 2.36 | --remerge-diff |
git log でマージコミットの差分を表示 |
| 2.38 | git scalar |
大規模リポジトリ向け初期設定ツール |
| 2.41 | git merge --autostash |
マージ前の変更を自動スタッシュ |
よく使うコマンドの対応バージョン
git switch(2.23以降)
ブランチの切り替えに特化したコマンドです。git checkout の一部機能を分離しています。
# ブランチを切り替える git switch main # 新しいブランチを作成して切り替える git switch -c feature/new-feature # 直前のブランチに戻る git switch -
2.23より前の場合:
git checkout main git checkout -b feature/new-feature
git restore(2.23以降)
ファイルの変更取り消しに特化したコマンドです。
# ワーキングツリーの変更を取り消す git restore file.txt # ステージした変更をアンステージする git restore --staged file.txt
2.23より前の場合:
git checkout -- file.txt git reset HEAD file.txt
SSH署名(2.34以降)
SSH鍵でコミットに署名できます。GPGより設定が簡単なため、最近はSSH署名が推奨されています。
git config --global gpg.format ssh git config --global user.signingkey ~/.ssh/id_ed25519.pub git config --global commit.gpgsign true
詳しくは「GitHubで署名付きコミットを設定する」を参照してください。
バージョンアップ方法
macOS(Homebrew)
brew upgrade git
Ubuntu / Debian
sudo add-apt-repository ppa:git-core/ppa sudo apt update sudo apt install git
Windows
git update-git-for-windows
まとめ
| 確認内容 | コマンド |
|---|---|
| バージョン確認 | git --version |
| どのgitが使われているか | which git |
| Homebrewでインストール | brew install git |
| Homebrewでアップデート | brew upgrade git |
- macOSで
(Apple Git-xxx)と表示される場合はHomebrewのgitへの切り替えを検討する git switch/git restoreはGit 2.23以降で使用可能- SSH署名はGit 2.34以降で使用可能