Git 2.43リリース:2023年11月20日新たな改善と革新的機能

OSSライセンス
香奈枝
香奈枝

2023年11月20日、「Git 2.43」という新しいバージョンがリリースされました。と言うニュースについて読みやすくまとめてみました。

これは、世界中の開発者に使われている、コードのバージョン管理に使う無料のツール「Git」の最新版です。

この新しいバージョンは、80人以上の専門家が作り上げた新機能や改善点がたくさんあります。

このアップデートでは、いくつかのコマンドや機能が改善されました。

例えば、「git repack」というコマンドが使いやすくなったり、コミットメッセージ(開発者がコードの変更を記録するためのメッセージ)が読みやすくなったりしています。

また、他の機能も改善されて、開発者がもっと効率的に、柔軟に作業できるようになりました。

このアップデートは、コードを書く人たちにとって重要なニュースです。

これによって、彼らの作業がスムーズに、そしてより効率的に進むようになるでしょう。

「Git 2.43」という新しいバージョンがリリースされました。

git repack の新機能

Git 2.43の新しいバージョンで、「git repack」というコマンドが大きく進化しました。

このコマンドは、Git(プログラムコードのバージョン管理ツール)内の「リポジトリ」と呼ばれるデータの保存場所を整理するために使われます。

今までこのコマンドには色々な使い方がありましたが、今回のアップデートで2つの大きな新機能が加わりました。

複数のクラフトパックのサポート

Gitでは、いらなくなったデータ(到達不可能なオブジェクト)を「クラフトパック」という場所に一時的に保管します。

これまでは、これらのデータを一つのクラフトパックに入れなければなりませんでした。

しかし、Git 2.43では、これらのデータを複数のクラフトパックに分けて保存できるようになりました。

これによって、データの整理がより効率的になり、コンピュータの処理負荷も軽減されます。

オブジェクトフィルターを使用したリポジトリの分割

新しいアップデートでは、「git repack」にオブジェクトフィルターという機能が加わりました。

これは、リポジトリ内のデータを特定の条件で選んで整理することができる機能です。例えば、1MiB未満のデータだけを残したい時、この新しいオプションを使って簡単にそれを実現できます。

これにより、特に大きなリポジトリや頻繁に変更されるリポジトリの管理が、より柔軟で効率的になります。

これらの新機能は、Gitを使う人々にとって非常に便利で、特に大規模なプロジェクトや複雑なリポジトリを扱う際に大きな助けになるでしょう。

コミットメッセージの改善

Git 2.43では、コミットメッセージの取り扱いが改善されました。

これは、Gitの使いやすさを高めるための重要なアップデートです。コミットメッセージは、プログラムの変更を記録する際に付けられる短い説明文です。

このアップデートにより、コミットの履歴が読みやすくなります。

ダブルリバート時のコミットメッセージの改善

以前、Gitで変更を元に戻す(リバートする)と、その逆の変更を適用する新しいコミットが作成され、そのメッセージは「Revert: “…”」という形式でした。
しかし、このリバートをさらにリバートすると、メッセージが「Revert: “Revert: “…”」と複雑になりました。
Git 2.43では、このようなダブルリバートを行った場合、もっと読みやすい「Reapply “…”」というメッセージが生成されるようになりました。
これにより、コミット履歴が短く、読みやすくなります。

git format-patchの改善

このコマンドは、コードの変更(パッチ)をメールで送るために使われます。
「–subject-prefix」オプションを使うと、メールの件名のプレフィックスを変更できます。しかし、以前のバージョンでは「–rfc」オプションを使うと、このプレフィックスが上書きされてしまいました。
Git 2.43では、これらのオプションが統合され、「–rfc」と「–subject-prefix」を一緒に使うことで、意図した件名のメールを作成できるようになりました。

これらの改善は、Gitを使う人たちがより明確で理解しやすいコミットメッセージを作成するのに役立ちます。

これは特に、複雑な変更履歴がある場合や、特定のパッチが特定の部分に関連していることを明確にする必要がある場合に便利です。

git format-patch の改善

Git 2.43では、「git format-patch」というコマンドが改善され、より使いやすくなりました。
このコマンドは、プログラムの変更内容(パッチ)をメールで送る時に使われます。
特に、メールの件名(サブジェクトライン)をカスタマイズする際の柔軟性が向上しました。

–subject-prefixと–rfcオプションの統合

以前のバージョンでは、メールの件名の始まり(プレフィックス)を変更する「–subject-prefix」オプションを使うと、別の「–rfc」オプションと競合してしまうことがありました。

この競合により、ユーザーが意図した件名と異なる結果になることがありました。

しかし、Git 2.43では、これら二つのオプションが統合され、ユーザーが例えば「git format-patch –subject-prefix=”PATCH bpf-next” –rfc」と入力することで、意図した形式の件名でメールを作成できるようになりました。

この改善は、パッチのサブジェクトラインをより細かくカスタマイズできるようにし、メールでパッチを送る時の明確性と効率を高めます。

これは特に、Linuxカーネルのような大きなプロジェクトで、特定の部分(サブシステム)に関連するパッチを明確に区別したい場合に有用です。

git log と git for-each-ref の拡張

Git 2.43では、「git log」と「git for-each-ref」という二つのコマンドが便利な新機能を得ました。

これらの機能は、Gitの使い勝手を向上させ、情報の表示をより柔軟にカスタマイズできるようにします。

git logの新しい装飾オプション

「git log」コマンドは、プロジェクトの変更履歴(コミット履歴)を見るために使われます。

新しいバージョンでは、「装飾」オプションが追加され、各コミットに対応するブランチやタグを注釈として表示できるようになりました。

さらに、カスタムフォーマットオプションを使っている時も、新しい「%(decorate)」プレースホルダーを使用して装飾を追加できます。

これにより、ターミナルでの出力をよりカスタマイズし、視覚的に情報を豊かにすることができます。

git for-each-refの.mailmapルール適用

「git for-each-ref」コマンドは、リポジトリの参照(ブランチやタグなど)についての情報を表示するために使われます。

Git 2.43では、このコマンドに、.mailmapルールをカスタムフォーマット指定子に適用する新機能が追加されました。

これにより、作者名やコミッターのメールアドレスなどの出力を、.mailmapで指定された名前やメールアドレスの変更に従ってフォーマットできるようになります。

これらの改善は、Gitの出力をより柔軟にカスタマイズし、履歴の表示やリポジトリの参照情報の把握をより容易にし、Gitを使用する際のユーザーエクスペリエンスが向上します。

CIシステムの進化

Git 2.43のリリースでは、CI(継続的インテグレーション)システムにおける大きな進化がありました。

これらの改善は、Gitの開発プロセスを効率化し、セキュリティと品質を向上させることに貢献します。

進行中のCIランのキャンセル

新しいバージョンのGitでは、進行中のCIラン(CIチェックが行われているブランチに新たなコードがプッシュされた時)を自動でキャンセルする機能が追加されました。

これにより、頻繁にコードが更新される場合でも、CIの使用量や時間を節約できます。この機能は、開発者がより早くフィードバックを受け取り、CIリソースをより効率的に使えるようにします。

Coverityへの統合

Gitは、Coverityという静的解析ツールとの統合も行いました。

Coverityは、コードのスキャンを行い、潜在的なバグやセキュリティの脆弱性について詳細な分析を提供するツールです。

開発者は、自分のCoverityアカウントにこれらの分析結果を報告するように設定できます。

これにより、新しい機能を導入する際に、それらがより安全であることを確認するための追加のツールが利用できるようになります。

これらの進化によって、Gitの開発者は、新しい機能やバグ修正をより迅速かつ効率的に行い、Gitの全体的な品質とセキュリティを高めることができます。

まとめ

香奈枝
香奈枝

Gitの新しいバージョン、2.43がリリースされ、開発者の作業をより効率的で柔軟にするための多くの改善と新機能が導入されました。このアップデートには、特に以下の点が注目されます。

git repackの新機能: このコマンドは、プロジェクトのデータを整理するために使われます。新しい機能によって、データの管理がより効率的になります。

コミットメッセージの改善: コミットメッセージは、変更内容を記録する際の簡単な説明です。この改善により、変更履歴が読みやすくなりました。

git format-patchとgit logの拡張: これらのコマンドは、コードの変更を共有したり、プロジェクトの変更履歴を見るために使われます。新しいオプションと機能が加わり、よりカスタマイズ可能になりました。

CIシステムの進化: CI(継続的インテグレーション)システムは、コードの変更を自動でテストするために使われます。このシステムの進化により、開発プロセスがよりスムーズになります。

全体的に、Git 2.43のリリースは、ソフトウェア開発の効率化と進化において重要な役割を果たします。新しいツールと機能は、世界中の開発者にとって、より良いコード管理とコラボレーションの機会を提供します。

Git 2.43リリースについて、他の記事もご覧になりたい方は、以下のサイトへどうぞ。

Git 2.43はすでにリリースされており、これらはそのニュースです
Git 2.43 の新しいバージョンでは、一連の改善と変更が行われていますが、その中で特に新しいものが際立っています...