[Git]上流、起源、Gitオブジェクトの理解



今日の目的
私は自分がGitに理解していないのを見て、ただ盲目的に羽指令を入力しただけです.
そして衝突したが、Gitに対する理解が足りないため、グーグルによる解決にも限界がある.Git을 공부할 때가 되었구나!
  • 今の私は...
    -add,commit,pushですが、機械的に使用します.
    -上流は、起源を他人に説明するほどではありません.
  • 上流の起源は何ですか.
  • Gitを물 줄기と考えましょうそれはいいですね.
  • 上流:(対向)上流
  • 出典:
  • の関係を表現するためです.これは絶対的な概念ではない.
  • がどこを基準にしているかによって、上流と下流は異なります.
  • 상대적인 개념です!
  • upstream
  • からリモートストレージにローカルにプッシュしようとすると、このようなメッセージが表示される可能性があります.
  • git push -u origin main 
  • -uは--set-上流の略です.
  • 私の上流、両親、...背中上下関係を設定!

  • add, commit, push?
    Gitのオブジェクトを知る必要があります.これ以上遅らせるわけにはいかない.
    Gitのオブジェクト

  • blob:ファイル

  • tree:blobパケット管理(ディレクトリ構造と同様)

  • commit:ストレージ単位、tree+blob+メタ情報

  • tag:提出の参考、説明
  • ちょくせつけんさ
    git init
    git init

  • .gitの空白のリポジトリを初期化しました.

  • .gitディレクトリを生成しますか?
  • .gitフォルダ襟のローカルストレージです.
    私たちが働いている空間は作業ディレクトリです.
    実際のローカルストレージは.gitです.
    tree .git
  • ビット命令語.gitの内部構造を表示します.

  • objectという相手がいますよね?
    git add
    echo "hello world" > test.js // 파일 생성해보기
    git add test.js
  • addが完了した後、
  • を見ました.
  • 23というオブジェクトがありました.
  • blob 객체가 생긴 거예요.
  • 追加するとGitはファイルに注目します.つまり管理の対象になります!オブジェクトを作成します
    git commit
    git commit -m "first commit"

  • 提出後発見は54 e 6の객체가 2개 생성

  • treeオブジェクトとcommitオブジェクトが生成されました

  • commitは作業ディレクトリスナップショットです.ゲーム中のセーブポイントだと思ってください!
  • がコマンドを発行することによってオブジェクトのコンテキスト関係が生じると考えられる.
  • add commitはどうして分離したのですか?
    変更内容だけ保存されていたら?

  • 😀ストレージ容量の観点から、これはメリットです.

  • 😣しかし、計算コストは非常に高くなります.例えば、비교 알고리즘に回転します.
  • だからGitは速度の観点から통째로 파일을 저장です
    関係は、
  • ではなくツリーオブジェクトによって最適化されます.😀
  • add,commitもこの原理に基づいて分離されている.