見出し画像

Gitを基礎から学習中

今まで「リポジトリって何?」「ハッシュ関数って何?」「GitHubって何だかテキストファイルがいっぱいあってフォルダ構成も定型的なものっぽくて、でもよく分からん」だったものが少しずつ解けていくようで楽しい。

今回は講師の教え方に従い、Gitの根底の仕組みから解説を受けている。そしてGit BashでコマンドラインをプチプチするCUIでスタートしている。まどろっこしいが、何かしら意味があるからこそそういう基礎からの解説なのだろうと思っている。

そもそもGitをよく知らないから、これがどれほど重要なことなのかサッパリ分からんw でもきっと大切なことなのだろう。

  • git hash-object

  • git cat-file

  • nano

  • とにかくBashの超絶基本的な使い方を丁寧に解説

講師曰く「こういう低レベルコマンドを使って解説していくよ」と言っているので、恐らくは高レベルコマンドでもっとGUI的な?快適操作でGitを使える「はず」だとは思う。だがこの基本に何か意味があるのだろう。

人によっては「まどろっこしいぃ。はよGitの使い方教えろや」になると思う。だが私にはピッタリ。こういう地味だが効く解説をしてくれる講師は貴重だ。3万人が推す★4.8は伊達ではない。ただしエンジニア特性がない人には地獄だと思う。

  • blobの中身の解説

  • ファイル名はここには含まれないよ(次号に続く、的なw)

  • ハッシュ関数のポテンシャルと衝突について(蛇足的読み物、要するに気にするな&ほぼ無限大)

    • ファイル総数は9999兆個以上でも楽勝w ほぼ無限大

    • ハッシュ値衝突の可能性は0.000(ゼロが48個)0000468、ほぼゼロ

ちなみにGitはLinuxの開発者が開発途中のソースファイルを管理するために作った仕組みだそうで。2週間くらいで作ったとか。天才かよ。なのでどうにもLinuxっぽいなと思っていたらまさに本流だったとは。

ただし個人的に気になって色々調べて遠回りしたのがSHA1だ。SHA-256の方がいいのではないか?とも思うがセキュリティの話ではなくてファイル管理の話だと、まぁ旧式のSHA1でもいいっぽい。現にGitHubはSHA1だとか。GitLabはSHA-256対応済みらしい。

ここについてもGitをよく知ってからSHA-256を検討しても遅くないなと思ったので保留。

そういや攻殻機動隊で「旧式の~、SHが~」などという台詞を思い出した。マルス大佐?

とりあえず4つのオブジェクトタイプのうちの1つ、blobはクリアした。明日はようやくblobとファイル名とを関連付けるtreeに関する学習だ。楽しみ😍


今回の創作活動は約45分(累積 約3,874時間)
(1,121回目のnote更新)


読んでくれてありがとう。気長にマイペースに書いてます。この出会いに感謝😊