箱のプログラミング日記。

渋谷の自社開発企業でRails書いてます。

いつやるの?Git入門【抜粋】

f:id:y_hakoiri:20191102121915j:plain

とんでもなく良い教材を見つけてしまいました。

 

今の私

GitHubDesktopで一通りGitに慣れる→CUIでの操作に慣れる→

でも実際深いところでの理解はできていない

といった状況。

 

一般的なコミット、プッシュ、プルリク出してマージしてプル・・・

とかは問題なくできますが、

やっぱ何か戻したい・変えたいとなった時にいちいち緊張する。(rebaseとかね)

概念的な部分での理解ができていないせいだと思います。

 

ドットインストールは全部見たけど

少し知識を肉付けできたくらいで、根本的に理解できたかというと微妙だったので

何か良い動画教材ないかな〜と思って「Git 動画」でググったら、ありました

 

vimeo.com

 

1時間の長編もの

短めの動画教材に慣れている人だと長く感じるかもしれませんが、

もうほんとに、見る価値ありまくり!!

図解してくれていて分かりやすい。

 

長いよ、って思った人のために

個人的目からウロコだったポイントをいくつかまとめました。

 

 

ブランチに対しての概念

  • gitはコミットゲー
  • ブランチの中にコミットが作られるのではなく、コミットツリーをブランチが追いかけて移動していく
  • HEADという印をもったブランチが今自分のいるブランチになる。HEADが移動することでブランチ間を行き来する

 

マージとリベースの概念

  • マージもコミットの一つ
  • 他のブランチの変更を取り込む場合はマージかリベース
  • マージは履歴が残る、リベースは履歴を上書きする

 

基本、これを押さえていれば大丈夫っぽい。

 

あと個人的に衝撃的だったのが、origin/がつくブランチはなんとなく

リモートリポジトリ上のブランチのような気がしてたんだけど、

どうやらローカル上のリポジトリらしい。

 

ローカルリポジトリ上には

自分のコミットツリーと直接繋がっているブランチと、

リモートとのやりとりのためにあるorigin/同名のブランチがあるんだって〜。

fetchしてリモートとの差分を見るのは、

このローカルリポジトリの origin/ブランチがやってくれてたみたい。

 

文字で説明すると難しいんですけど

とにかくこの動画はめちゃくちゃ分かりやすかったです。

 

ちなみに、動画の中でも紹介されていますが

Learn Git Branchingを使うと、
コマンドを打った時にコミットやブランチがどのように動くか
というのをGUIで勉強できるらしい。
もっと早く知りたかった。。

k.swd.cc

 

とにかくこちらの動画のおかげで、gitへの理解がかなり深まりました。