Git 2.44 は大幅な改善と新機能を備えて登場します

git 2.44

git 2.44 バナー

Gitの新バージョン2.44が3ヶ月の開発期間を経てリリースされました。このバージョンには、以前のバージョンと比較して503の変更点が含まれています。これらの変更は85名の開発者の協力によって行われ、そのうち34名は今回初めて開発に参加しました。

Gitをご存知ない方のために説明すると、Gitは最も人気があり、信頼性が高く、高性能なバージョン管理システムの一つとして知られており、ブランチングとマージに基づいた柔軟で非線形な開発ツールを提供します。履歴の整合性を維持し、遡及的な変更を防ぐために、Gitは各コミットに過去の履歴全体の暗黙的なハッシュ値を使用します。

Git2.44の主な新機能

Git 2.44 の新バージョンでは、最も重要な新機能の 1 つは、複数のパッケージ間でオブジェクトを再利用できるようになったことです。この最適化により、Git は複数のパッケージでオブジェクトを再利用できるようになり、リポジトリ全体を単一のパッケージに再パッケージ化する必要がなくなります。この改善により、Git はパッケージをより効率的に生成できるようになり、リモートリポジトリへのプッシュおよびプル操作の速度とパフォーマンスが向上します。バージョン 2.44 以降、Git はリポジトリを単一のパッケージファイルに再パッケージ化することなく、複数のパッケージファイル間でオブジェクトを再利用できるようになりました。

さらに、`git replay` の導入により、`git rebase` の効果的な代替手段が提供され作業ツリーのないサーバー(作業ツリーを含まない単純なリポジトリ)で履歴を再構築したり、複数のブランチを同時に処理したり、現在取得中のブランチとは異なるブランチに対してリベース操作を実行したり、あるいは単にマージ操作を高速化したりするために使用できます。`git replay` は、特に大規模リポジトリでのマージおよびリベース操作において、大幅なパフォーマンス向上を実現します。

Git 2.44以降では、`--autosquash`オプションを非対話型のベース変更操作に使用できるようになりました。この機能により、手動でto-doリストを確認することなく、fixup!またはsquash!コミットを対応する場所に自動的に適用できます。

もう一つの注目すべき点は、重要な新機能と改善点です。`git add` コマンドと `git stash`コマンドは、`git show` コマンドと同様に設定できる `:(attr:…)` パス属性をサポートするようになりました。たとえば、`git add ':(attr:~binary)'` を使用すると、すべてのテキスト (バイナリ以外の) ファイルをインデックスに追加できます。さらに、アクセス権限でファイル パスをフィルタリングするための `builtin_objectmode` 属性が導入されました。たとえば、`git add ':(attr:builtin_objectmode=100755)'` を使用すると、すべての実行可能ファイルをインデックスに追加できます。

その他の注目すべき変更点は以下のとおりです。

  • GitLab CI 継続的インテグレーション システムのサポートが追加されました。
  • オプション«を追加しました–差分アルゴリズム»へ« コマンドgit マージファイル» ファイル間の差異を評価するための代替アルゴリズムを選択します。
  • b での実装方法と同様に、wincred 資格情報管理バックエンドに OAuth トークンを更新するためのサポートが追加されました。credential-cache と credential-libsecret を確認します。
  • «git フェッチ» « 構成オプションのサポートを追加しましたfetch.all«、これは « オプションを追加するのと同様に処理されます。-全て» コマンドラインで。
  • 追加されたオプション «–ignore-other-worktrees» 別の作業ツリーを使用するブランチの更新とチェックアウトを有効にします。これにより、「git checkout -B」コマンドの以前の動作が復元されます。
  • この設定を«に設定できるようになりました。true» 命令を削除するには «このメッセージを無効にする…» 提案を表示するときに画面上のスペースを占有します。これにより、コマンド出力から不要な要素が削除され、ユーザー エクスペリエンスが向上します。
  • このコマンドの実行は、オプション«を使用して最適化されました。–ノーソート»。以前は、«を指定しても–ノーソート«、この配置は依然としてアルファベット順に適用されました。最適化後、« を使用します。–ノーソート" スピードアップ "git for-each-ref» 多数の参照があるリポジトリでは約 20% 減少します。

最後に、さらに詳しく知りたい場合は、以下のリンクから詳細をご確認いただけます。


Googleで優先ソースとして追加する