ブランチ名の代わりにコミット名をチェックアウトするとどうなりますか?git checkout commit-nameとgit checkout branchnameの違いは何ですか
答えて
短いでは、何も起こりません。 branch
をチェックする方が簡単で最新の状態に保ちます(最新のcommit
)。 commit
でチェックすると、でなくても、は最新の支店の状態を遅らせることができます。
git checkout <branch>
は、コミット時に<branch>
をチェックアウトします。すなわち、HEAD
は、そのブランチの最後のコミットを指します。
git checkout <commit>
は少し異なります。 <commit>
をチェックアウトすると、最新のコミットを指している可能性があります。したがって、HEAD
と同期します。 しかしあなたはまた、別のにcheckout
以前、すなわち、detached HEAD
状態であなたを置くことになるだけでなくコミットHEAD
ポイントは、あなたのgitの履歴(最も可能性の高い最新)にコミットすることができます。 HEAD
もリセットして、チェックアウトした現在のコミットを指すようにすることができます。
通常、ブランチの最新バージョンを使用していることがわかっています(アップストリームの変更がない限り、git pull
)。
Hereは、詳細を知りたい場合はgit checkout
のドキュメントです。
checkout <commit>
とcheckout <branch>
どちらも、それがコミット<commit>
か<branch>
引数で指定されたことにより、記録されたファイルの状態と同じを探して終わるように、彼らはあなたの作業ツリー内のファイルおよびディレクトリに対して必要な変更を行いますという点で同じです。
さらに、後者(<branch>
)は、アクティブなブランチとして指定したブランチを設定します。そうすることで、「支店にいる」というコンセプトが完成します。
ブランチはコミットに与えられた移動可能なラベルで、より新しいコミットに自動的に移動します。コミットです。これらのラベルは、コミットをより管理しやすく、覚えやすいものにします。
checkout <commit>
はdetached stateに入れることがあります。この状態では、カスタムラベルを取得しません。しかし、後でコミットを作成し、その場所に新しいブランチを作成することができます。結局、何日後に、デタッチ状態では動作するか否か、garbage collectedを取得しますブランチ(またはタグ)で標識されないコミット事実以外の個人的な好みおよび/または利便性の問題があります。
単純にgitのチェックアウトBRANCH_NAMEは、あなたがその名前を言及コミットにかかるように、その分岐のwheresのコミット最新のが表示されます。
私は「彼らが同じである」または「悪い何も起こりません」のようなものを言う上記のコメントに同意できません。
これらは重要な点ではっきりと異なります。上記の記事でantakが正しく記述しましたが、私は潜在的な危険性を強調したいと思います。これは、新しいコミットを追跡できなくなる可能性があるということです。
ブランチでチェックアウトすると、ブランチポインタがコミットをポイントし、次にコミットすると新しいコミットが追加され、ブランチポインタも一緒に移動します。これは通常、人々が起こりたいものです。
コミットでチェックアウトしてから新しいコミットを行う場合、その新しいコミットを指すブランチはありません。 HEADだけがそれを指し示します。
この時点で別のブランチをチェックアウトしていた場合、その新しいコミットの履歴が失われる可能性があります。 (ref-logのような特別なことが分からなければ、それを失うだろう)。
antakが指摘しているように、新しいコミットを行い、その時点でブランチを作成することもできますが、元の質問に対する答えがわからない場合は、右?
簡単に言えば、特別な理由がない限り、ブランチをチェックアウトしたいと思うのです。
- 1. git checkout - 。 vs git checkout
- 2. "git reset --hard"と "git checkout"の違いは何ですか?
- 3. git revertとgit checkout
- 4. 「git checkout - 」とは何ですか?行う?
- 5. アップストリームでフォークを同期する:git fetch + git checkout + git mergeとgit checkout + git pull
- 6. gitコマンド "git checkout master ||:"
- 7. レポ開始とgit checkoutの違い-b
- 8. gitのCheckoutサブフォルダ
- 9. git checkoutブランチとローカルリポジトリ
- 10. Git Checkoutエラー
- 11. GIT Checkout - スイッチサブモジュール
- 12. Gitコマンド:git checkout -b <branch><リモートブランチ>とgitブランチ<branch><リモートブランチ>の違いは何ですか?
- 13. git checkoutの目的
- 14. コミットのないGit checkoutブランチ
- 15. GITリポジトリからsvn-checkout
- 16. git checkoutの差分チェックアウト元/ <branch-name>とgit checkout <branch-name>?
- 17. git checkout git guiのファイルのリビジョン
- 18. 別のnode_modulesフォルダのgit checkout
- 19. 元に戻すgit checkout --orphan
- 20. Git checkout - どのように
- 21. - git checkoutのdry-runオプション
- 22. Git checkout - HEADに戻って
- 23. `git checkout -b new-feature master`は何をするのですか?
- 24. Jenkins groovy pipeline - git checkoutエラー
- 25. ジェンキンスはgit sparse checkoutでトリガーします
- 26. git fetchの後にcheckout FETCH_HEADが何をするのですか?
- 27. Git CheckoutとLib2GitSharpを引き出す
- 28. `git checkout --orphan`は何のために使われますか?
- 29. "git checkout"コマンドの意味です。
- 30. emacs-gitから "git checkout -f"を実行するには?