ENECHANGE Developer Blog

ENECHANGE開発者ブログ

2025年版 Git最新情報まとめ ― last-modifiedからRust導入まで

はじめに

ENECHANGEでバックエンドエンジニアをしている白坂です。

日頃Gitを使っていると、「とりあえず動くからOK」で済ませてしまい、
新機能やアップデートを追わなくなりがちですよね。

今回、2025年のリリースノートを確認してGitの更新内容をキャッチアップしてみました。
結論としては、日常的な利用に大きな影響はありませんが、 押さえておくと役に立つ新機能 があったため、ここにまとめます。

対象バージョン

2025 年 12 月時点での最新のGitv2.52 です。
まずは、ご自身の環境でどのバージョンを使っているか確認してみてください。

今年(2025 年)にリリースされた Git のバージョンは以下のとおりです。

  • 2.48(2025年1月)
  • 2.49(2025年3月)
  • 2.50(2025年6月)
  • 2.51(2025年8月)
  • 2.52(2025年11月)

新機能について

新コマンド git last-modified(v2.52)

v2.52からの新機能である git last-modified を使うと、ディレクトリの最終更新コミットを一度に取得できます。
最終更新コミットをGitHubのようにすぐに取得できるイメージです。

% git last-modified src/                                                  
004345a7b3209e2415d431fad805dd19ffbf42fa    src

ディレクトリを指定しなければ、リポジトリ直下にあるファイルまたはサブディレクトリの最終更新コミットが一覧で表示されます。

% git last-modified                                                          
124a49cddb2eb315d8889ca211ca3991b15c2cef    .github
0a5ec6e6240f6a4a3eb6640728117a4dab539ab6    .gitignore
0a5ec6e6240f6a4a3eb6640728117a4dab539ab6    docker-compose.yml
...

今までは git log -1 コマンドで取得することができましたが、こちらだとディレクトリ数分コマンドを実行する必要があります。
また、出力される情報量が多いため、AIエージェントを使う際は無駄にトークンを消費させることになります。

% git log -1 -- src/                                                         
commit 004345a7b3209e2415d431fad805dd19ffbf42fa
Author: foo <foo@example.com>
Date:   Mon Nov 24 11:00:00 2025 +0900

    Fix some

AIを使う方ほどメリットが大きいので、まだ Git をアップデートしていない場合は、ぜひv2.52に更新してみてください。

git stash の改善(v2.51)

v2.51でstashの内部構造が改善され、通常のコミットと同じように扱えるようになりました。
その結果、stash をエクスポート・インポートして別環境へ移すといった使い方が簡単になります。
実際の移行イメージは以下のとおりです。

stashを refとしてエクスポート できます。

% git stash export --to-ref refs/stashes/my-stash

そのrefはブランチやタグと同様に push / fetch できます。

% git push origin refs/stashes/my-stash

そのため、別のPCでfetchしてimportすれば、stashをそのまま復元できます。

% git fetch origin '+refs/stashes/*:refs/stashes/*' 
% git stash import refs/stashes/my-stash

これでstashを別マシンへ移して再開できるようになります。

git switch と git restoreが安定版に(v2.51)

Git2.23(2019年)で導入された git switchgit restore は長い間 experimental(実験的)として扱われてきましたが、Git2.51でついに正式な安定版になりました。
従来の git checkout は「ブランチ切り替え」「ファイル復元」「新規ブランチ作成」など複数の役割を担っていてわかりづらかったため、
これらを目的別に分離したのが switch と restore です。

これからブランチ操作やファイル復元の際には、git checkout ではなく git switchgit restore を使うように移行していきましょう。

git cloneに--revisionオプションが追加(v2.49)

Git2.49で git clone に新しく --revision オプションが追加されました。
従来は --branch を使うことで特定のブランチやタグに絞ってcloneできましたが、

  • ブランチにもタグにも属していない
  • 単独のコミット(SHA)だけを取りたい

というケースでは対応できず、手間が発生していました。

v2.49からは上記のケースの場合、

git clone --revision <commit-hash> <repo-url>

これだけで、指定したコミットまでの必要な履歴だけを取得できます。
ブランチやタグが付いていない孤立したコミットでもOKです。

Rustの導入(v2.52)

Gitのコードの一部がRustで実装されるようになり、v2.52ではRustで書かれたコードがリリースに含まれています。
現時点では、Gitを利用するだけであればRustコンパイラがない環境でもGit2.52は問題なく動作します。

なお、Git3.0ではRustのサポートが必須になる予定ですが、これは Gitをソースコードからビルドする場合の話 であり、
HomebrewやaptなどでインストールしてGitを利用する分には、通常Rustを意識する必要はありません。

Git3.0

現時点では、実務でGitを扱ううえで注意が必要になるような大きな仕様変更はほとんどありません。
しかし、今後 2026 年末頃にGit 3.0が登場する可能性がある ようです。
Git 2.0のリリースからすでに11 年が経ち、そろそろ次のメジャーバージョンがいつ見えてきてもおかしくないタイミングです。

また、公式ドキュメントではGit 3.0で予定されている変更点がすでに整理され始めています。
Git 3.0でどんな変更が想定されているのかを知りたい場合は、こちらのドキュメントで確認されることをおすすめします。

最後に

これまでGitのアップデートは気になるけど追えていないという状態が続いていましたが、今回のまとめで自分自身の理解も整理できました。
同じような状況の方にとって、本記事が情報の入り口になれば嬉しく思います。

参考リンク

github.blog

github.blog

github.blog

github.blog

github.blog

about.gitlab.com

about.gitlab.com

about.gitlab.com

about.gitlab.com

about.gitlab.com