先週 Git2.23分散ソース制御システムの新しいバージョンのリリースが発表されました。 以前のバージョンと比較して、この新しいバージョンでは500を超える変更が加えられました。
しかし、 この新しいバージョンで最近導入された改善点で、最も注目されているのは git switch
y git restore
これらの XNUMXつの実験的なコマンドです 特定の これは、コマンドをある程度置き換えるために使用できます git checkout
。 gitに慣れていない人は、これが最も人気があり、信頼性が高く、高性能なバージョン制御システムのXNUMXつであり、バージョンの分岐とマージに基づく柔軟な非線形開発ツールを提供することを知っておく必要があります。
履歴の整合性と後知恵の変更に対する耐性を確保するために、以前のすべての履歴の暗黙的なハッシュが各コミットで使用され、個々のコミットおよびタグの開発者もデジタル署名できます。
git2.23の主な新機能
この新しいバージョンのgitでは 上記の実験コマンドが提示されます 「git switch
y git restore
"。
これらの新しいコマンド 機能を分離するように設計されています «git checkout
» ブランチ操作(変更と作成)や復元などの緩い 作業ディレクトリ内のファイルの数(«git checkout $ commit - $ filename
»)またはすぐにステージングエリアで(«--staging
«、«に類似物はありませんgit checkout
«)。
git checkout
たとえば、ブランチを変更したり、リポジトリに新しいブランチを作成したりできるコマンドです。
ユーザーが個々のファイルを編集したい場合、またはハードドライブ上のリポジトリ内のファイル名をファイルと同様にリセットしたい場合は、gitcheckoutを使用することもできます。 これらの可能性に加えて、gitcheckoutコマンドを使用して他のアクションを実行できます。
注目に値する それとは異なり、«git checkout
«、«git restore
» 復元されたディレクトリから追跡されていないファイルを削除します (デフォルトでは「–オーバーレイなし」)。
とともに git restore
、どのファイルが変更されるか、どのように変更されるか、どこで変更されるかを正確に判断する方がはるかに簡単です。 実際、複雑なコマンドを使用する代わりに git checkout
, git restore
復元された変更がどこに行くかを指定する2つのオプションを提供します。
したがって、パラメータを渡すと --worktree
(または何も指定しない場合)、変更はハードドライブのリポジトリに行われます。 ただし、パラメータを渡すと --staged
、変更はインデックスに移動します。 最後に、両方のパラメーターを渡すと、変更はXNUMXつのそれぞれの場所に移動します。
git 2.23では、オプション「git merge --quit
«、これは、«– abort»のように、 ブランチマージプロセスを停止しますが、作業ディレクトリはそのまま残します。 このオプションは、手動マージ中に行われた変更の一部を個別のコミットとして発行することが望ましい場合に役立ちます。
コマンド git clone
, git fetch
y git push
現在、リンクされた(代替)リポジトリ内のコミットの存在を考慮に入れています。
オプション«git blame --ignore-rev
"Y"--ignore-revs-file
»マイナーな変更(フォーマットの修正など)を行ったコミットをスキップするため。
一方、オプションの追加を見つけることができます «git cherry-pick --skip
»競合の妥協をスキップするには(シーケンスの記憶されたアナログ«git reset
y git cherry-pick --continue
«)
このバージョンの時点で、 git log
デフォルトでは、mailmapによって行われた変更が考慮されます。これは、 git shortlog
.
チャート更新操作 commit (core.commitGraph)
2.18に提出されたものは大幅にスピードアップされました。 また、複数のテンプレートを使用する場合に各参照のgitを高速化し、からの呼び出しの数を減らしました。 auto-gc
"中git fetch --multiple
"
構成が追加されました ステータス.アヘッドビハインド、オプションの設定«git status - [no-] ahead-behind
»継続的に。
«git branch --list
»ロケールに関係なく、リストの先頭に常に個別のHEADが表示されるようになりました。
これらの改善を超えて、 この新しいバージョンのGitは、接続されたオブジェクトの検証の一部として、別のソリューションの参照を使用できるようになりました。 これは、リポジトリのクローンを作成し、クローン作成中または別のリポジトリで別のリポジトリを指定したときに発生する可能性があります。
Si あなたはそれについてもっと知りたい あなたは相談することができます 次のリンク。