Git スイッチとチェックアウトの違い
Git は、ユーザーがさまざまなコマンドを使用して、便利で最もシンプルなコマンドラインで作業できるようにする独自のオープンソースプラットフォームとして認識されています。毎日新しいバージョンを導入することで、時間とともにコマンドラインを増やしています。
新しいバージョンの導入に伴い、Git は古いコマンドと同様のいくつかの新しいコマンドを起動しましたが、最新の更新を含むいくつかの新しいプロパティがあります。バージョン 2.23 より前では、git checkout
は、現在のシナリオの複数のタスクに使用される過負荷のコマンドでした。
このように、開発者は、どのコマンドをいつ実行し、どのような状況でより良い結果を得るかなど、多くの混乱に直面します。これらの状況を解放するために、Git は、Git で特定の役割を実行できるより便利なコマンドを含む新しいバージョンをリリースしました。
そしてその中でも、git switch
と git restore
は注目に値します。このチュートリアルでは、git switch
コマンドと git checkout
コマンドの違いを説明します。
Git の switch
コマンドと checkout
コマンドの違い
git checkout
コマンド
checkout
コマンドは、最近アクティブなブランチを切り替えるために使用されます。また、ファイルの変更を元に戻すために使用され、ファイルを復元するためにも使用できます。checkout
ブランチを使用する主な原因は、別のブランチに切り替えて、現在のリポジトリの新しい head
ブランチにすることです。
特定のファイルの以前のバージョンを復元する場合は、特定のファイルを以前のバージョンにリセットすることで、git checkout
コマンドを使用して復元できます。これは、プロジェクトの残りの部分にはまったく影響しません。
また、開発者が特定のブランチで作業していて、開発者の依存関係のために別のブランチで作業したいとします。その場合、Git の checkout
コマンドを使用して他のブランチに切り替えることができます。
git switch
コマンド
switch
コマンドは、ブランチを作成し、他のブランチに移動し、現在のリポジトリの現在の HEAD
ブランチに切り替えるために使用されます。
これは新しい機能ではありませんが、以前のバージョンの Git バージョン管理で git checkout
によって以前に行われたブランチを切り替えるための高度な代替オプションです。Git の checkout
は悪いオプションではありませんでしたが、多くの目的で同時に使用される多目的なツールです。
checkout
とは異なり、switch
コマンドは限られた目的でのみ使用されます。つまり、リポジトリのブランチの作成と切り替えのみです。
git switch
コマンドは主にブランチの開発と切り替えに焦点を当てていますが、git checkout
コマンドは完了した作業のコミットをターゲットにすることに焦点を当てています。
Git の checkout
および switch
コマンドを使用してブランチを切り替える
checkout
コマンドを使用して新しいブランチを開発するには、フラグ -b
を使用します。これは、新しいブランチを作成し、そのブランチに即座に切り替えるのに役立ちます。1つの Git コマンドで同時に 2つの操作を実行します。
git checkout -b new_branch
幸いなことに、コマンド git switch
は、1つのコマンドのみを使用してこれら 2つの操作を同時に実行します。このコマンドで使用されるフラグは -c
です。
git switch -c new_branch
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn関連記事 - Git Checkout
- Git Checkout --Track Origin/Branch と Git Checkout -B Branch Origin/Branch の違い
- Git チェックアウトと Git クローンの違い
- Git でのローカル ファイルの変更を無視する
- Git のチェックアウトタグ
- Git で単一ファイルへのローカル変更を元に戻す