Git Checkout を廃止する: 代わりに Git Switch と Git Restore を使用する
日常の仕事で Git を使用している場合、git checkout は一般的なコマンドです。ブランチを切り替えるためによく使用されます。ドキュメントを見ると、「ブランチを切り替えるか、作業ツリー ファイルを復元する」という表現が見られます。しかし、UNIX は 一つのことを実行し、それをうまく実行する であるべきです。これは混乱を招くため、Git 2.23 ではこれを置き換える 2 つのコマンドが導入されました。
その仕組みを紹介する前に、関連する Git の概念を簡単に理解する必要があります。
作業コピー (作業ツリー ファイル): ハードディスク上に表示されるリポジトリ内のファイルを指します。
インデックス (ステージング領域またはキャッシュ): git が追加されているか、または git commit を実行した場合にコミットされるものを指します。
HEAD: 「現在の」または「アクティブな」ブランチを指します。ブランチをチェックアウトする必要がある場合 (ブランチを作業コピー内の内容と一致させようとする試みを指します)、チェックアウトできるのは 1 つだけです。一度にチェックアウトできます。
git checkout はブランチをチェックアウトしたり、新しいブランチを作成してそこにチェックアウトしたりできます:
# Switched to branch 'test' $ git checkout test # Switched to a new branch 'test' $ git checkout -b test # Switch back to the previous branch $ git checkout - # Switched to a commit $ git checkout master~1
また、git switch はブランチ関連を引き継ぐために使用されるため、次のこともできます。
# Switched to branch 'test' $ git switch test # Switched to a new branch 'test' $ git switch -c test # Switch back to the previous branch $ git switch - # Switched to a commit $ git switch -d master~1
最初に述べたように、git checkout は作業ツリー ファイルを復元することもできます。機能のこの部分は git list によって引き継がれます。
以前は、git checkout -- main.c を使用してインデックスから作業ツリー ファイルを復元できました。構文は git checkout [treeish] --
# Restoring the working tree from the index $ git checkout -- ./main.c # Restoring index content from HEAD $ git reset -- ./main.c # Restoring the working tree and index from HEAD $ git checkout HEAD -- ./main.c
HEAD からインデックスの内容を復元する場合、使用できるのは git replace のみであり、git checkout には対応するオプションがないことに注意してください。
グラフで表示:
git list を使用すると、どのファイルをどこに復元するかを簡単に決定できます。次のオプションは復元場所を指定します:
-W --worktree -S --staged
デフォルトでは、 -W と --worktree は、オプションが指定されなかった場合と同様に、インデックスから作業ツリーを復元します ( git stop -- ./main.c など)。一方、-S と --staged は HEAD からインデックスの内容を復元します。両方を渡すと、インデックスと作業ツリーが HEAD から復元されます。
例:
# Restoring the working tree from the index $ git restore -- ./main.c # Equivalent to $ git restore --worktree -- ./main.c # Restoring index content from HEAD $ git restore --staged -- ./main.c # Restoring the working tree and index from HEAD $ git restore --staged --worktree ./main.c
グラフで表示:
上記はデフォルトです。別のコミットから復元したい場合は、--source オプションを使用できます。例:
# Restore `./main.c` in the working tree with the last commit $ git restore -s HEAD^ -- ./main.c # Equivalent to $ git restore --source=HEAD^ -- ./main.c
もう 1 つの役に立つ git list ケースは、誤って処理されたファイルを復元することです。例:
# Incorrectly deleted files $ rm -f ./main.c # Quickly restore main.c from index $ git restore ./main.c
バッチリカバリの場合:
# Restore all C source files to match the version in the index $ git restore '*.c' # Restore all files in the current directory $ git restore . # Restore all working tree files with top pathspec magic $ git restore :/
結論
git checkout の機能は明確に区別されています。git switch はブランチの切り替えに使用され、git listore は作業ツリー ファイルの復元に使用されます。これらは、UNIX の哲学に沿って、より明示的なセマンティクスを提供します。
どちらのコマンドも 2019 年に提案され、現時点では実験段階です。変更される可能性がありますが、通常は大きな変更ではないため、わかりやすくなり、混乱が少なくなり、今すぐ使用できます。
これが役立つと思われた場合は、 ニュースレターの購読を検討してください Web 開発に関するさらに役立つ記事やツールをご覧ください。読んでいただきありがとうございます!
以上がGit Checkout を廃止する: 代わりに Git Switch と Git Restore を使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。

JavaScriptは、Webサイト、モバイルアプリケーション、デスクトップアプリケーション、サーバー側のプログラミングで広く使用されています。 1)Webサイト開発では、JavaScriptはHTMLおよびCSSと一緒にDOMを運用して、JQueryやReactなどのフレームワークをサポートします。 2)ReactNativeおよびIonicを通じて、JavaScriptはクロスプラットフォームモバイルアプリケーションを開発するために使用されます。 3)電子フレームワークにより、JavaScriptはデスクトップアプリケーションを構築できます。 4)node.jsを使用すると、JavaScriptがサーバー側で実行され、高い並行リクエストをサポートします。
