checkoutgitのs とは何ですか?
checkout特定のブランチにHEADアクセスすると、そのブランチへのポイントがわかります。しかし、それはどういう意味ですか?その後、そのブランチで作業できるということですか?はいの場合、ブランチをチェックアウトしないと、ブランチで作業できませんか?
また、どういうremote checkout意味ですか?それはどのように役立ちますか?
checkoutgitのs とは何ですか?
checkout特定のブランチにHEADアクセスすると、そのブランチへのポイントがわかります。しかし、それはどういう意味ですか?その後、そのブランチで作業できるということですか?はいの場合、ブランチをチェックアウトしないと、ブランチで作業できませんか?
また、どういうremote checkout意味ですか?それはどのように役立ちますか?
回答:
お気づきのように、HEADはコミットツリーのどこにいるかを示すラベルです。あるコミットから別のコミットに移動すると、それも一緒に移動します。 git checkout <commit>コミットツリー内を移動し、フォーカス(HEAD)を指定したコミットに移動するための基本的なメカニズムです。
、ハッシュ、支店名、タグ名、相対的な構文(コミット多くの方法のいずれかによって特定することができるコミットHEAD^、HEAD~1ように、等)とを。多くの場合、チェックアウトがブランチを変更していると見なすと便利です。その観点から機能するオプションがいくつかありますが、それらはすべてコミットを参照します。
コミットをチェックアウトするには、移動する以外にいくつかの副作用がありHEADます。
-bオプションの新しいブランチは、現在にコミット基づいて作成して、アクティブになります。--trackオプションにチェックアウトブランチはリモートブランチを認識して行うことができます--orphanオプションの新しいブランチが作成されます(と同様-b)が、既存のコミットに基づいてされることはありません。いくつかのオプションがあります。これらはgit checkout man-pageで読むことができます。これらのオプションはすべて、あるコミットから別のコミットへの移動を中心に展開されHEADます。移動に加えて、その移動の影響が異なるだけです。
git checkout <commit> <path>ブランチを切り替えないことに注意してください。
git checkout <path>。
理解に役立つように、ファイル、フォルダ、ブランチを使用したチェックアウトのいくつかの使用例について説明します。
名前の付いたフォルダが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チェックアウトは本当に意味がある」に対するものです。