Git 2.37はすでにリリースされており、これらはそのニュースです

の発売 の新しいバージョン Git 2.37、 これはのXNUMXつです 最も人気のあるバージョン管理システム、フォークおよびフォークの統合に基づく柔軟な非線形開発ツールを提供する、信頼性が高く高性能なソフトウェア。

履歴の整合性と変更への耐性を確保するために、以前のすべての履歴の「後方」暗黙ハッシュが各コミットで使用されます。個々のタグとコミット開発者のデジタル署名を検証することもできます。

Git2.37の主な新機能

以前のバージョンと比較して、 新しいバージョンでは395の変更が受け入れられました。 75人の開発者が参加して作成し、そのうち20人が初めて開発に参加しました。

この新しいバージョンでは、次のことが強調されています。 部分インデックスメカニズム (スパースインデックス)、リポジトリの一部のみをカバーします。eは広く使用できるように準備されています。 部分インデックスは、部分クローン操作(スパースチェックアウト)を実行したり、リポジトリの不完全なコピーを操作したりするリポジトリのパフォーマンスを向上させ、スペースを節約できます。

新しいバージョンはの作業を完了します コマンドへの部分インデックスの統合 「gitshow」、「git sparse-checkout」、「gitstash」。 部分インデックスを使用することによる最も顕著なパフォーマンスの向上は、「git stash」コマンドにあります。これは、状況によっては最大80%高速です。

目立つもう一つの変化はそれです 新しい「クラフトパック」メカニズムが実装されました リポジトリで参照されていない(ブランチまたはタグで参照されていない)到達不能オブジェクトをパッケージ化するため。 ガベージコレクタは到達不能なオブジェクトを削除しますが、競合状態を回避するために、それらを削除する前に一定時間リポジトリに残ります。 到達不能オブジェクトの期間を追跡するには、バインドが必要です。これらのオブジェクトには、類似したオブジェクトの変更時刻がタグ付けされます。これにより、すべてのオブジェクトの変更時刻が共通のバンドルファイルに格納できなくなります。

以前に使用した各オブジェクトを個別のファイルに保存すると、ファイルは、まだ到達できない新しいオブジェクトが多数存在する場合に問題を引き起こしました。 提案された「クラフトパック」メカニズムにより、到達不能なすべてのオブジェクトをバンドルファイルに保存でき、各オブジェクトの変更時間に関するデータは、拡張子が「.mtimes」のファイルに保存された個別のテーブルに反映されます。

WindowsとmacOSには、組み込みのメカニズムがあります ファイルシステムへの変更を追跡します。 作業ディレクトリ全体を一覧表示する必要がなくなります 「gitstatus」などの操作を行う場合。 以前は、フックを介して変更を追跡するために、Watchmanなどの外部ファイルシステム変更追跡ユーティリティを接続できましたが、これには追加のプログラムと構成のインストールが必要でした。 この機能は現在組み込まれており、「gitconfigcore.fsmonitortrue」で有効にできます。

コマンド 「gitsparse-checkout」は、「-cone」モードの代替のサポートを終了しました 部分複製のテンプレート定義。これにより、複製操作の対象となるリポジトリの部分を定義するときに、部分インデックスの最適化に使用できない「.gitignore」構文を使用して個々のファイルを一覧表示できます。

その他の変更点 目立つ:

  • 変更をディスクにフラッシュするようにfsync()呼び出しを構成する際の柔軟性が向上しました。
  • 「batch」同期戦略のサポートが「core.fsyncMethod」パラメーターに追加されました。これにより、単一のfsync()呼び出しによってフラッシュされたリライトキャッシュに変更を蓄積することにより、多数の個別のファイルを書き込むときの作業が高速化されます。
  • 「gitlog」や「gitrev-list」などのトラバーサルコマンドに、「X」より古いコミットに関する情報をフィルタリングするための「–since-as-filter=X」オプションが追加されました。
  • 「gitremote」コマンドで「-v」フラグを指定すると、リポジトリの部分的なクローンに関する情報が提供されます。
  • 「warn」、「die」、「allow」の値をとることができる「transfer.credentialsInUrl」設定を追加しました。 パラメータが「リモート」の場合。 .url"はプレーンテキストでクレデンシャルを指定します。"transfer.credentialsInUrl"設定が"die"に設定されている場合、"get"または"push"操作の実行は失敗し、"warn"に設定されている場合は警告になります。
  • デフォルトでは、PerlからCに書き直された「gitadd-i」コマンドの新しいインタラクティブモードの実装が使用されます。

最後に あなたがそれについてもっと知りたいなら、詳細を確認できます 次のリンクで。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。