Gitの学習と使用を開始すると、ブランチを変更しなければならない一般的な状況に遭遇します。
そして、ここでは、物事が少し混乱する可能性があります。 gitでブランチを切り替える方法を探すと、gitswitchが使用されている例とgitcheckoutが使用されている例がいくつかあります。
Gitチェックアウトコマンド | Gitスイッチコマンド | 説明 |
---|---|---|
git checkout my-branch | git switch my-branch | ブランチmy-branchに切り替えます |
git checkout -b my-branch | git switch -c my-branch | 作成してmy-branchに切り替えます |
では、gitswitchとgitcheckoutの違いは何ですか?両方をブランチの切り替えに使用できる場合、同じ目的で2つのコマンドがあるのはなぜですか?説明させてください。
gitチェックアウトとgitスイッチの違い
つまりね。 Git checkoutは、ブランチの作成と切り替えに使用されていた古いコマンドです。また、特定のコミットからの変更を復元するために使用することもできます。しかし、gitcheckoutはそれ以上のことをします。ブランチを切り替えずに、任意のブランチからファイルをコピーしたり、作業ツリーに直接コミットしたりできます。
Dan Fabulichが指摘しているように、gitcheckoutは次の3つのことを行います。
- ブランチの切り替え
- ステージから作業ツリーにファイルをコピーします
- ツリーっぽいものから作業ツリーにファイルをコピーする
わからなくても大丈夫です。 git checkoutは単純なブランチ切り替え以上のことを行い、追加機能が混乱を引き起こし始めたことを覚えておいてください。
そのため、Git 2.23のリリースに伴い、その開発者は2つの新しいgitコマンドを導入しました:git switch
およびgit restore
。
この動きの背後にある考え方は、人々がgit switch
を使用できるようにすることです。 ブランチを切り替えたり、コミットから変更を元に戻すためのgitrestoreを実行したりします。同時にgit checkout
ツリーっぽいものに対処するための高度なオプションのためにそこに残っています。
どちらを使用する必要がありますか? GitチェックアウトまたはGitスイッチ?
ブランチを切り替える必要がある場合は、gitcheckoutの代わりにgitswitchコマンドを使用してください。なんで?この特定のタスクのために作成されたためです。新しいGitユーザーの場合、git switch
を覚えるのは簡単です。 ブランチを切り替えるためのもので、git restore
コミットを復元するためのものです。
そのため、gitcheckoutのブランチ作成および切り替え機能をgitswitchコマンドに置き換えることをお勧めします。
gitスイッチとチェックアウトの使用について今すぐ明確になっていることを願っています。追加するものがある場合は、コメントセクションを使用してください。