[解決済み】gitの概念であるHEAD、master、originとは何ですか?
質問
gitについて勉強していると、HEAD, master, originという用語が出てきますが、何が違うのかよくわかりません。私の理解が正しければ、HEADは常に最新リビジョンと同じなのでしょうか?もしそうなら、それはリポジトリ全体の最新リビジョンなのでしょうか、それとも特定のブランチやタグの最新リビジョンなのでしょうか?これはとても混乱します。これに関する多くのチュートリアルや、ブランチやマージといったものを読みましたが、まだ理解できていません。
どのように解決するのですか?
お勧めの本 スコット・チャコン著「プロフェッショナル・ギット . 時間をかけて、実際のgitレポを探索しながら、本当に読んでみてください。
HEAD
: あなたのレポが現在行っているコミットです。ほとんどの場合
HEAD
は現在のブランチの最新のコミットを指しますが、必ずしもそうである必要はありません。
HEAD
は、単に「私のレポは現在何を指しているのか」という意味です。
の場合、コミット
HEAD
がどのブランチの先端でもない場合、これを「デタッチドヘッド」と呼びます。
マスター は、最初にレポを作成するときに git が作成するデフォルトブランチの名前です。ほとんどの場合、"master" は "メインブランチ" を意味します。ほとんどのショップでは、全員が master にプッシュしており、master はそのレポの決定的なビューと見なされています。しかし、リリース用のブランチは master から作成されるのが一般的です。ローカルリポジトリには独自の master ブランチがあり、それはほとんどの場合リモートリポジトリの master に従います。
オリジン は、git がメインのリモートリポジトリに付けるデフォルトの名前です。あなたのマシンには独自のリポジトリがあり、あなたやあなたの同僚がプッシュするリモートリポジトリにプッシュすることが多いでしょう。このリモートリポジトリは、ほとんどの場合 origin と呼ばれますが、必ずしもそうでなければならないわけではありません。
HEAD
は、git の公式な概念です。
HEAD
は常に明確に定義された意味を持っています。
master
と
origin
は、通常gitで使用される一般的な名前ですが、そうである必要はありません。
関連
-
[解決済み】なぜ「git commit」は私の変更を保存しないのですか?
-
[解決済み】Githubエンタープライズ - リモート。Git の操作でパスワード認証が利用できない
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] Gitブランチをmasterにマージする最も良い(そして最も安全な)方法は何ですか?
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 現在のブランチのトラッキング情報がありません。
-
[解決済み] masterブランチと'origin/master'が分岐している、'undiverge'ブランチの方法は?
-
[解決済み] git pull リモートブランチがリモートの参照先を見つけることができない
-
[解決済み】fatal: 有効なオブジェクト名ではない: 'master'
-
[解決済み] リモートの <ブランチ名> とマージするように設定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] TortoiseGitで「git did not exit cleanly (exit code 128)」というエラーを解決するには?[クローズド]
-
[解決済み] VSTS Git Fetch Failed with exit code: 128
-
[解決済み] git リモートリポジトリには、ローカルブランチにマージされていないコミットが含まれています。
-
[解決済み] git update-index --assume-unchanged <file> を元に戻す。
-
[解決済み] "fatal: This operation must be run in work tree." というメッセージが表示されるのはなぜですか?