Upgrade to Pro — share decks privately, control downloads, hide ads and more …

git入門

uzimaru0000
September 26, 2020

 git入門

Zli × エキサイト 合同LT
https://zli.connpass.com/event/188279/

uzimaru0000

September 26, 2020
Tweet

More Decks by uzimaru0000

Other Decks in Technology

Transcript

  1. 自己紹介
 - B4
 - うじまる
 - Webフロントエンド
 - TypeScript
 -

    Elm
 - 最近Rustをやってます。
 - Twitter
 - @uzimaru0000
 - GitHub
 - @uzimaru0000

  2. gitって?
 - HEAD
 - `git push origin HEAD` とかで参照される 


    - index
 - いわゆるstaging
 - objects/
 - gitのobjectの保存先 
 - refs/
 - branchとかtagsの保存先 

  3. gitって?
 - HEAD
 - `git push origin HEAD` とかで参照される 


    - index
 - いわゆるstaging
 - objects/
 - gitのobjectの保存先 
 - refs/
 - branchとかtagsの保存先 

  4. git-object
 - gitは3種類のobjectによって構成されている
 - commit
 - tree
 - blob
 -

    それぞれ、commit・ディレクトリ・ファイルに対応している
 - sha1で固有のIDが割り当てられる
 - zlibで圧縮されている

  5. git-object
 - commit
 - 親のcommit, ルートのtree, commitをした人などの情報が記録されている 
 - tree


    - ディレクトリの情報が記録されている 
 - 1つ以上のtreeやblobを持っている 
 - blob
 - ファイルの情報が記録されている 
 - `git add` した時点のファイルのスナップショット 
 ※ git は 差分 ではなく ファイルの中身すべて を保存している

  6. gitのコマンド
 - git add や git commit などのコマンド
 - これらは「磁器コマンド」と呼ばれる

    
 - git cat-file や git hash-object などのコマンド
 - これらは「配管コマンド」と呼ばれる 
 配管コマンドを組み合わせれば、磁器コマンド相当のことができる!!
 (昔はそうしていたみたい)