GNU/Linux >> Linux の 問題 >  >> Linux

Gitスイッチとチェックアウトの違いは何ですか?

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スイッチとチェックアウトの使用について今すぐ明確になっていることを願っています。追加するものがある場合は、コメントセクションを使用してください。


Linux
  1. [[$ a ==Z*]]と[$a==Z *]の違いは?

  2. RedhatとcentOSの違いは何ですか?

  3. insmodとmodprobeの違いは何ですか

  1. ミューテックスとクリティカルセクションの違いは何ですか?

  2. NPTL スレッドと POSIX スレッドの違いは何ですか?

  3. fsck と e2fsck の違いは何ですか?

  1. InnoDBとMyISAMの違いは何ですか?

  2. 「su -」と「su --login」の違いは何ですか?

  3. ルートとIPルートの違いは何ですか?