見出し画像

Gitの内部構造をよく理解して、うまく使おう【基本の仕組みを解説】

Gitの内部構造を学ぶ意義

 Gitの使い方を知っている人でも、それぞれのサブコマンドが実際どういった挙動をしているか、ましてや内部構造がどうなっているかを学んだことがある人は少ないかもしれません。というのも、Gitが内部を知らなくとも十分使える優秀なツールになっているからだと思います。

 しかし、Gitの内部実装を知ることで、コマンドの挙動を正確に理解できるだけでなく、Gitを使っていて何らかの問題が起きたときにも、自分で対処できるようになります。そうしたGitの地力を鍛えるために、内部構造の把握は重要な要素になってきます。

 また、今回の内容を学べば、Gitの大枠を実装することもできてしまうので、興味がある方はぜひ挑戦してみてください。

Gitについての誤解

 それでは、まずGitについて多くの人が誤解しているであろう点を挙げておきます。

  • commitとは、親commitとの差分を保存しているもの

  • branchとは、分かれた枝のこと

  • resetとは、commitを無かったことにできるコマンド

 私自身も、Gitの内部構造を学ぶ前はこういう理解でした。しかし、これらは実はすべて間違いなのです。

 ここからは、Gitがどのようにしてバージョン管理を実現しているかを理解するために、内部構造を紐解いていきます。具体的には、.gitディレクトリの中身について取り扱っていきます。

ref


この記事が気に入ったらサポートをしてみませんか?