Gitの中身(動画シリーズ)


3年前に撮った動画

撮りっぱなしで放置してたものです。

我ながら話のリズムは悪いしダルい動画です、すみません。

活舌が悪いのは歯科矯正をしていたというのもありますが、純粋にベタってところもあり、あとは加齢で言葉が上手く出てこないってのがあります・・・(溜息・・・

でも内容はGit初心者や、Gitの内部に注意を向けてこなかった人には結構役立つ情報かもしれません。


Gitの中身その1

動画リンク https://www.youtube.com/watch?v=KknQgXfH_uM&t=14s


概要

動画では .git 隠しフォルダー(ディレクトリー)の中、得に .objects フォルダーの内容をコマンドラインで確認しながら解説してます。

.objects フォルダーの構成を理解すると私の場合、急にGitに親しみを感じるようになりました。要は、ハッシュ値を利用したファイルシステムであり、あるハッシュ値を渡すとオブジェクトが返ってくる、そのオブジェクトの内容が参照しているオブジェクトのハッシュ値を渡すとそのオブジェクトの値が返ってくる。ただそれだけなんですね。

ファイルとフォルダー、そしてコミットの基本的な関係、さらにコミットが積みあがっていく状態が具体的に理解できると思います。

それに対応する、blob、tree、そしてcommit オブジェクトを理解できれば、特定のコミットが表すレポジトリをより具体的にイメージ出来るようになると思います。


Gitの中身その2

動画リンク https://www.youtube.com/watch?v=mpqblZVNof0


概要

この動画では特定のファイルをフォルダー間で移動した場合にGitはどのようにトラックしているかを解説しています。Gitの素敵な特徴の一つに「全く同じ内容は全く同じハッシュ値を持つ」というのがあります。これぞ、なぜGitが分散型の開発に強いかの理由です。例えば

void main()

{
printf("hello\n");
}

という内容を複数の人が書いたとしたら、そのハッシュ値は完全に一致します。時間と場所に関わらずです。ですから、同じハッシュ値のオブジェクトがローカルのGitレポジトリに存在するならば、ネットワーク越しにそのオブジェクトを別の場所から取ってくる必要がなくなるからです。

あと、この動画ではサブフォルダーを含むフォルダーや、サブフォルダーとファイルを含むフォルダーがどのようにGitで記録されているかも解説しています。


Gitの中身その3

動画リンク https://www.youtube.com/watch?v=1buKbzimhcI


概要

この動画では複数のユーザーで使う場合のGitを見ていきます。Gitはチームで使ってなんぼのものですから、中央レポジトリを作って、2人のユーザーになりすましてコミットを積んでいきます。

「裸(bare)」のレポジトリと、通常の作業ディレクトリがあるレポジトリの違いも分かると思います。


まとめ

自分はYouTuberには向いてないなと確信した。

ただし、動画に撮るという作業は学習効率は悪くないなと思ったです。もうちょっと頑張ってみようかな(歯科矯正も終わったし!)