110306041 / git-practice

0 stars 0 forks source link

week 01 回覆 #1

Open azole opened 3 weeks ago

azole commented 3 weeks ago

活到大四? 很可愛的上課心得,其實我也沒有想到第一週我就會講滿 3 小時,前一天我還信誓旦旦跟朋友說,第一週我不會上滿的,沒想到... 🤷‍♂️

git 這邊,你提到 commit 會紀錄的資訊包括「有哪些 tree 物件包含在版本中」這是什麼意思? commit 跟 tree & blob 的關係是什麼?

對 git repo 做操作後,觀察 .git 檔案夾中的變化,我覺得你這部分做得蠻不錯的,下次可以試試看紀錄的更深刻一點,例如你提到 git add 會將檔案加入暫存區,更新 .git/index 檔案 那 .git/index 到底更新了什麼呢?可以翔實地記錄一下,那這份筆記,未來都可以重複複習與使用,說不定哪天就用上了。

azole commented 1 week ago

沒有回覆?

110306041 commented 1 week ago

我來了!活到大四是讀到大四的意思哈哈~但第一週老師講的內容很有趣也很受用!感覺得出來老師應該真的對這個領域有滿腔熱忱,很羨慕!!

1. commit 會紀錄的資訊包括「有哪些 tree 物件包含在版本中」這是什麼意思? Ans: commit 是一個紀錄,git 會根據我們 commit 的時間,以及 commit 的作者,針對我們 commit 的 tree 物件以及 blob 物件生成一個由 SHA1 產生的 40 碼的值,保證每個 commit 是不可變且唯一的,確保版本歷史的完整性和安全性。 我的理解是像這樣: commit 物件 -> 指向一個 tree 物件(根目錄) tree 物件(根目錄) -> 指向多個 tree 物件(子目錄)和 blob 物件(檔案) 每個子目錄的 tree 物件 -> 指向更多的子目錄或檔案 四種物件之間的關係 參考:認識 Git 資料結構中的物件資料庫與物件之間的關係

2. commit 跟 tree & blob 的關係是什麼? Ans: 當我們 commit 時,tree 物件會儲存我們指定的檔名,目錄資訊,並指向相對應的 blob 物件(檔案)

(對 git repo 做操作後,觀察 .git 檔案夾中的變化,我以後有空會慢慢補齊試試看紀錄的更深刻一點!)

azole commented 1 week ago

好,你來了 XD 先跟你說一下我有收到你的回覆,現在沒有時間細看,但我一定會再找時間仔細看過,很棒,天道酬勤,上天不會辜負努力的人的,繼續努力!(Discord 也有訊息,但你好像沒上線,所以這邊再說一次)