1

次の4つのコマンドの間に存在する違いを特定しようとしています。

master現在のブランチがであり、現在のディレクトリが「作業ディレクトリ」、つまり、であると仮定し.gitます。

git checkout

git checkout HEAD

git checkout master

git checkout -- .

私が知る限り、最初の2つのコマンドは完全に同等であり、本質的に操作なしです(両方とも何らかの出力を生成する可能性があるという事実を除いて)。Already on 'master'. 3番目のコマンドは、前の出力に加えて、他のすべてのコマンドとは対照的に、最後のコマンドがステージングされていないすべての変更を破棄することを除いて、最初の2つとほぼ同じです。

私は何かを逃したことがありますか?

4

2 に答える 2

0

最初の 3 つは同じです (また、ノーオペレーションではありません。いくつかのファイルを変更した場合、マスターの先端にあるファイルに置き換えられます)。4 番目のものは、'.' 内のファイル、つまり現在のディレクトリのみをチェックアウトします。

于 2013-03-19T19:57:49.790 に答える
0

TFMによると、コマンドには 4 つの形式がありgit checkoutます。最初の 2 つの例はその 1 つです。他の 2 つの例はさらに 2 つです。

あなたの質問に答えるために、あなたは の最後の形式を見逃していますgit checkout:

git checkout -b <new branch name> <start point>

于 2013-03-19T19:28:57.897 に答える