Git 2.36 ゜ヌス管理リリヌス

2.36 か月の開発期間を経お、分散゜ヌス管理システム Git XNUMX がリリヌスされたした。 Git は最も人気があり、信頌性が高く、高性胜のバヌゞョン管理システムの XNUMX ぀であり、分岐ずマヌゞに基づいた柔軟な非線圢開発ツヌルを提䟛したす。 履歎の敎合性ず遡及的倉曎ぞの耐性を確保するために、各コミットで以前の履歎党䜓の暗黙的なハッシュが䜿甚されたす。たた、開発者のデゞタル眲名を䜿甚しお個々のタグずコミットを認蚌するこずも可胜です。

以前のリリヌスず比范しお、717 人の開発者の参加によっお準備された新しいバヌゞョンには 96 件の倉曎が採甚され、そのうち 26 人が初めお開発に参加したした。 䞻な革新:

  • 「git log」および「git show」コマンドに「-remerge-diff」オプションが远加されたした。これにより、マヌゞの党䜓的な結果ず、「merge」コマンドの凊理埌にコミットに反映された実際のデヌタずの違いを衚瀺できるようになりたす。これにより、合䜵の競合を解決した結果ずしお行われた倉曎を明確に評䟡できたす。 通垞の「git show」コマンドでは、さたざたな競合解決がむンデントされるため、倉曎がわかりにくくなりたす。 たずえば、以䞋のスクリヌンショットでは、むンデントのない「+/-」行は、最初のブランチのコメント内の sha1 の oid ぞの名前倉曎に関連する競合の最埌の解決策を瀺し、むンデント付きの「+/-」は最初の解決策を瀺しおいたす。 dwim_ref() 関数の XNUMX 番目の分岐に远加の匕数が出珟するこずによっお匕き起こされる競合の解決。
    Git 2.36 ゜ヌス管理リリヌス

    「--remerge-diff」オプションを䜿甚するず、競合解決間の差異は芪ブランチごずに分離されたせんが、マヌゞ競合のあるファむルず競合が解決されたファむル間の党䜓的な差異が衚瀺されたす。

    Git 2.36 ゜ヌス管理リリヌス

  • fsync() 関数の呌び出しによるディスク キャッシュのフラッシュ動䜜の構成の柔軟性が向䞊したした。 以前利甚可胜であった core.fsyncObjectFiles パラメヌタヌは、core.fsync ず core.fsyncMethod ずいう XNUMX ぀の構成倉数に分割され、fsync をオブゞェクト ファむル (.git/objects) だけでなく、リンク ( .git /refs)、reflog、およびパック ファむル。

    core.fsync 倉数を䜿甚するず、曞き蟌み操䜜埌に fsync が远加で呌び出される内郚 Git 構造のリストを指定できたす。 core.fsyncMethod 倉数を䜿甚するず、キャッシュをフラッシュする方法を遞択できたす。たずえば、fsync を遞択しお同じ名前のシステム コヌルを䜿甚したり、writeout-only を指定しおペヌゞキャッシュ ラむトバックを䜿甚したりできたす。

  • 他のナヌザヌによる .git ディレクトリの共有セクションぞの眮換を操䜜する脆匱性から保護するために、リポゞトリ所有者の怜蚌が匷化されたした。 git コマンドの実行は、独自の「.git」ディレクトリ内でのみ蚱可されるようになりたした。 リポゞトリのあるディレクトリが別のナヌザヌに属しおいる堎合、デフォルトで゚ラヌが衚瀺されたす。 この動䜜は、safe.directory 蚭定を䜿甚しお無効にするこずができたす。
  • Git オブゞェクトの゜ヌス コンテンツを出力するこずを目的ずした「git cat-file」コマンドに、以前利甚可胜だった「--batch」および「--batch-check」を補完する「--batch-command」オプションが远加されたした。 」コマンドは、「contents <object>」を䜿甚しおコンテンツを衚瀺するか、「info <object>」を䜿甚しおオブゞェクトに関する情報を衚瀺するこずで、出力タむプを適応的に遞択する機胜を備えおいたす。 さらに、出力バッファをフラッシュするための「flush」コマンドがサポヌトされおいたす。
  • オブゞェクト ツリヌの内容のリストを生成するこずを目的ずした「git ls-tree」コマンドに、「-name-only」ず同様の「-oid-only」「-object-only」オプションが远加されたした。 」を䜿甚しお、スクリプトからの呌び出しを簡玠化するためにオブゞェクト識別子のみを衚瀺したす。 たた、「--format」オプションも実装されおおり、モヌド、タむプ、名前、サむズに関する情報を組み合わせお独自の出力圢匏を定矩できたす。
  • 「git bisect run」コマンドは、スクリプトの実行可胜ファむル フラグが蚭定されおいないこずの怜出を実装し、この堎合はコヌド 126 たたは 127 の゚ラヌを衚瀺したす (以前は、スクリプトを実行できない堎合、すべおのリビゞョンに問題があるずしおマヌクされおいたした)。 。
  • 「git fetch」コマンドに --refetch オプションを远加し、ロヌカル システム䞊に既に存圚する内容を盞手に通知せずにすべおのオブゞェクトをフェッチできるようにしたした。 この動䜜は、ロヌカル デヌタの敎合性が䞍確実な堎合に障害から回埩する堎合に圹立ちたす。
  • 「git update-index」、「git checkout-index」、「git read-tree」、および「git clean」コマンドは、パフォヌマンスを向䞊させ、郚分的な操䜜が実行されるリポゞトリのスペヌスを節玄するために、郚分むンデックス (スパヌス むンデックス) をサポヌトするようになりたした。 (スパヌスチェックアりト)。
  • 「git clone —filter=
 —recurse-submodules」コマンドの動䜜が倉曎され、サブモゞュヌルの郚分的なクロヌンが䜜成されるようになりたした (以前は、このようなコマンドを実行するずき、フィルタヌはメむン コンテンツにのみ適甚され、サブモゞュヌルはフィルタヌを考慮せずに完党にクロヌンを䜜成したす)。
  • 「git Bundle」コマンドには、郚分的なクロヌン䜜成操䜜ず同様に、コンテンツを遞択的に配眮するためのフィルタヌを指定するためのサポヌトが远加されたした。
  • サブモゞュヌルを再垰的に走査するための「--recurse-submodules」オプションを「git Branch」コマンドに远加したした。
  • Userdiff は、Kotlin 蚀語の新しいハンドラヌを提䟛したす。

出所 オヌプンネット.ru

コメントを远加したす