ネビ活 | ネットビジネス生活

ネットxお金のスキルを作り、未来永劫豊かに暮らす事を目指すサイト

GitのHEADとは?origin/HEADとの違いは?初心者向けに画像でやさしく解説!

更新日:

GITのHEADとは何か?初心者でも分かるように画像で解説

GITを使い始めたんだけど、HEADってなんなの?なんの意味があるの?

 

というわけで、GitのHEADについてorigin/HEADとの違いも交えて、
やさしく画像入りで解説します。

 

Laravelって稼げるの?独学?スクール?高給を稼ぐためにどうするべきか教えます。

GitのHEADとは?

HEADは今いるブランチの最新の変更点にくっついてるモノです。
また今HEADがあるブランチのみ、新たな変更保存(Commit)をする事ができます。

 

分かりやすく画像で解説します。

上の画像はGITを見える化するツールSourceTreeの画面です。

左側の「BRANCHES」のところを見ると「ask」「furigana」「master」 という3つのブランチが作ってあります。

そして、現在いるブランチ(Checkoutしてるブランチ)がaskになってます。なので、○ askとなってます。そして、画面右側の一番上にも、○があって、[ask] [origin/ask]がありますよね。

つまり、この○がHEADなんです。

例えば、今度は、左側のBRANCHESをmasterに代えてみます。

すると、[master]や[origin/master]があるところに今度は○が移動しました。
HEADがaskブランチからmasterブランチの最新の変更点のところに移動したという事になります。

このように、HEADは今いるブランチの最新の変更点を指すものだと思ってください。

 

そもそも master や origin/master って何?ブランチって何?って場合は、

Gitのorigin masterとmasterの違い、意味を初心者向けに図解でやさしく解説!

GITのブランチとは?初心者向けに図解でやさしく解説

これらを読むとスッキリ分かりますよ!

Neby

SourceTreeのインストール方法2020最新版。GITHUBとつなぐとこまで詳細解説。

 

HEADはファイルを書き換える位置を示している

HEADは基本的に最新の変更点(コミット)にいます。

下の画像では、HEADは前回の保存(コミット)である「Paypal自動返信メールのテスト」という部分に停まってます。これが現状askブランチでは最新のコミットです。

 

 

例えば、askブランチに新たに変更を加えたコードを保存(コミット)するとします。

「説明文の付け足し」という新コミットが完了すると、新しいコミットにaskと○(HEAD)が移動してるのが分かります。

このように、HEADは今いるブランチの最新変更点(最新のコミット)を指すものだと考えてください。

 

HeadとCheckoutの関係

GitはHEADがあるブランチにのみ新しいコミット(保存)が可能なんだ。
Neby
じゃあ、今askブランチにHEADがあったけど、masterブランチに保存したい時はできないって事?
その時はcheckoutというコマンドを使って、HEADを別のブランチに移動する必要があるんだ。
Neby

 

今いるブランチとは別のブランチにコミットする場合は、git checkout 移動先のブランチ名 というコマンドを打つ事で、HEADを移動させる事ができます。

例えば、ask→masterブランチとHEADを移動したいなら、git checkout master というコマンドを使う事で、masterにHEADが移動します。

 

askに戻したかったら、git checkout ask って事?
そういう事!バッチリだね。
Neby
これさ、HEADが最新ではない変更点に移動する事ってないの?
まれに何かの操作の影響を受けて移動してしまう事はあるよ。その状態をdetached headって言うんだけど、これになったら、全く同じく git checkout 移動先ブランチ名 のコマンドを打てば直るから大丈夫。
Neby
コミットっていうのは、変更点って事でOK?
そう、コミットっていうのは、最新の変更に「どこどこを変更した」っていうメモをくっつけて保存する事。commit と add(stage)については、こっちの記事で詳しく解説してるよ!

GitのCommitとは?AddやPushとの違いは?初心者向けに図解でやさしく解説!

Neby

 

ちなみに、SourceTree上では、BRANCHES欄のブランチ名をダブルクリックするだけで、HEADを移動できます。

GITをターミナル(コマンドプロンプトなど)を介して使う場合は、今話したcheckoutコマンドを使って移動する必要があります。

 

origin/HEADって何?HEADとは違うの?

ねぇ、↑このorigin/HEADって何?
origin HEADはGITHUB側にあるHEADの事。ただ、本来はGITHUB側にHEADは無いんだ。クローンを使ったりすると突然出来たりするんだ。
Neby

origin/HEADはGITHUBのデフォルトのブランチの最新位置に基本的に出現します。通常はmasterがデフォルトとして最初から作られてますから、origin/masterの最新変更点の位置に出現します。

また、origin/HEADはどの位置にあっても問題ありません。基本的に使う事はないので。

 

ちなみに、あなたがプログラミングを学んでる理由ってなんですか?

稼げるから?

じゃあ、どれくらい上達すれば稼げるのか?

どの言語なら稼げるのか?

本当にそんな高給を稼げるのかの現実を知ってますか?

詳しくは下の記事に本音の裏事情を書いてるので参考にしてくださいね。

Laravelって稼げるの?独学?スクール?高給を稼ぐためにどうするべきか教えます。

  • この記事を書いた人

Neby

本を毎日多読しつつ、資産運用、プログラミング、心理学、ネットビジネススキルを猛向上中。貧富の差が広がる5年後、10年後に安心生活を送るためのお金のリテラシー、スキル、資産を一緒に作っていきましょう。

-Git入門初心者向け

Copyright© ネビ活 | ネットビジネス生活 , 2020 All Rights Reserved.