17 ポイント 投稿者 GN⁺ 2023-10-08 | 1件のコメント | WhatsAppで共有
  • git init 時に生成される .git ディレクトリの詳細な説明
  • .git ディレクトリには configHEADhooksobjectsrefs など、さまざまなファイルやフォルダが含まれる
    • config テキストファイルには、現在のリポジトリの git 設定、作成者、ファイルモードのような基本設定が含まれる
    • HEAD ファイルには、デフォルトブランチを指すリポジトリの現在のヘッドが含まれる。デフォルトブランチを何にしたかによって master または main などになる
    • hooks ディレクトリには、git の動作の前後に実行できるすべてのスクリプトが含まれる
    • objects ディレクトリには、リポジトリのファイルとコミットに関するデータが含まれる
    • refs ディレクトリには、ブランチとタグを指す参照またはポインタが保存される
  • ファイルがリポジトリに追加されると、index ファイルが更新され、objects ディレクトリに新しいフォルダとファイルが追加される
  • objects ディレクトリの新しいファイルには、追加されたファイルの種類、サイズ、データが含まれ、ファイル名は内容の sha1 から取得される
  • ファイルがコミットされると、コミットメッセージを含む COMMIT_EDITMSG という新しいファイルが作成され、objects ディレクトリに新しいオブジェクトが追加されるなど、複数の変更が発生する
  • git でのブランチ作成は、refs/heads ディレクトリにブランチ名と最新コミットの ID を持つ新しいファイルを追加するというシンプルなプロセス
  • ブランチのチェックアウトには、チェックアウトされたブランチを指すように .git/HEAD ファイルを更新することが含まれる
  • ブランチのマージは 3 つの方法で実行できる: fast forward merge、rebase merge、別個の merge commit の作成
  • リポジトリがプッシュされると、objects ディレクトリ内のすべてのものと、明示的にプッシュされた refs 配下のすべてのブランチおよびタグが別の git リポジトリに送信される

1件のコメント

 
[このコメントは非表示になっています。]