checkout
は何ですか?git checkoutsはどういう意味ですか?
特定のブランチに対してcheckout
を実行すると、HEAD
はそのブランチを指しています。しかし、それはどういう意味ですか?私はその支店で働くことができますか?はいの場合は、ブランチをチェックアウトせずに、私はそれに取り組むことができません?
さらに、remote checkout
は何を意味しますか?どのように役立つのですか?
checkout
は何ですか?git checkoutsはどういう意味ですか?
特定のブランチに対してcheckout
を実行すると、HEAD
はそのブランチを指しています。しかし、それはどういう意味ですか?私はその支店で働くことができますか?はいの場合は、ブランチをチェックアウトせずに、私はそれに取り組むことができません?
さらに、remote checkout
は何を意味しますか?どのように役立つのですか?
あなたが指摘したように、HEAD
は、あなたがコミットツリー内にあることを示すラベルです。あるコミットから別のコミットに移動すると、それはあなたと一緒に動きます。 git checkout <commit>
は、コミットツリー内を移動し、フォーカス(HEAD
)を指定されたコミットに移動するための基本的なメカニズムです。
コミットは、コミットハッシュ、ブランチ名、タグ名、相対構文(HEAD^
、HEAD~1
など)などの任意の方法で指定できます。チェックアウトをブランチの変更とみなすことはしばしば役に立ちます。その観点からいくつかのオプションがありますが、それらはすべてコミットを参照します。
チェックアウトするには、HEAD
を動かす以外に、コミットにいくつかの影響があります。
-b
オプションを使用すると、現在のコミットに基づいて新しいブランチが作成され、アクティブになります。チェックアウト分岐が新しいブランチは(-b
と同じように)作成されますが、コミット、既存のいずれかに基づいてされることはありません--orphan
オプションでリモートブランチ--track
オプション付き1からの移動の周りを公転するすべてはあなたがgit checkout man-page約読むことができますいくつかのより多くのオプションは、別のコミットがある - ちょうど移動のほかにどのような影響を与えるでいる移動することを変えHEAD
。
だから、 "チェックアウト"はまったく別のものを意味するように思えます(とにかくTFSと同じで、TFSの同等のものは特定の "チェンジセット"を取得します)。私はこれを見てうれしい! - 「最新」のマジック定数はありますか? (TFSでは「T」です)、「HEAD」ラベルを知らなくても最新バージョンのコードをダウンロードすることができます。 – BrainSlugs83
ブランチ上にいる場合、ブランチ名はそのブランチの最新のコミットです。ブランチにいない場合は、最新のコミットです。私は、ブランチに関係なくリポジトリ内の最新のコミットを見つけて手動で移動するためにlogコマンドを使用しますが、必要に応じて自動化できると確信しています。 –
最後の段落について: 'git checkout
「チェックアウトする」とは、リポジトリから任意のコミットを取り出し、関連するファイルおよびディレクトリツリーの状態を作業ディレクトリに再作成することを意味します。
あなたはそれがないブランチヘッド(例えばgit checkout HEAD~2
)でコミットをチェックアウトすると、あなたはいわゆるデタッチ頭の上にあります。ここではコミットを作成できますが、別のブランチに切り替えると、ブランチ名でそれらのコミットをリカバリできず、しばらくしてガベージコレクタによって削除されることさえあります。
ファイル、フォルダ、ブランチのチェックアウトのいくつかの使用例を理解しやすくするために説明しましょう。
私たちはdev
とindex.html
という名前のフォルダも持っているとしましょう。すべてが追跡され、作業ディレクトリはきれいです。
私が誤ってファイル名index.html
を変更し、私が単にgit checkout index.html
を使用することを元に戻したい場合、そのファイル状態を現在選択されているリポジトリから回復します。
ここでdev
フォルダに何らかの変更を加えて回復したい場合は、私はgit checkout dev
を使うことができますが、そのフォルダをチェックアウトする代わりにdev
という名前のブランチがすでに存在する場合は、そのブランチをプルダウンします。それを避けるために、私はむしろgit checkout -- dev
をやります。
ここでは、現在のブランチを表し、現在選択されているブランチのフォルダdev
をgitに問い合わせています。
同様に、git checkout alpha dev
を実行すると、アルファブランチからdevフォルダがプルダウンされます。
この回答はあなたの最初の質問 'git checkout really mean'です。
なし。はい、私は持っていると私はそれが意味するものの理論を見つける。 HEADなどを指していますが、「チェックアウトコード - 変更を加える - チェックイン」という点から知りたいのですが、それは違うのですか? – daehaai
投票...いくつかのコメントを入れてください!!あなたは答えをゴーグルしていないと言いません。私は詳細情報を探しています。 – daehaai
@antonijn - 私は質問をグーグルで試してみました - これは最初の結果です - 一度私がここに来ると私は問題が閉じられているのを見て、この狂気の姿勢を誰もが見た - 私はTFSの背景から来て、私は "Checkout"がGITとはまったく異なる何かを意味すると考え始めています。私はそれが* git-landで何を意味するのか知りたい。 – BrainSlugs83