日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何理解git的快照?

發布時間:2025/4/16 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何理解git的快照? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://blog.csdn.net/m0_37075681/article/details/83218592

如何理解git的快照?
什么是快照
快照怎么進行
git和CVS,、Subversion等的區別

最近開始學習git的使用,發現snapshot這個術語,看得是朦朦朧朧,感覺理解這個詞,又感覺不是很懂,所以就去網上搜索資料,嘗試用自己的理解敘述出來。
什么是快照
In computer systems, a snapshot is the state of a system at a particular point in time.
本人覺得快照并沒含有’速度快’的意思。快照應該理解為整個系統或者應用在某個時刻的狀態記錄。例如,假定在A時刻,你的git工作空間分別有file1和file2,到B時刻的時候,你對file1進行了修改。
隨后,在你準備進行一次commit之前,git就已經準備好快照了,這個快照記錄了當前工作空間中指向未修改文件file2的指針和已經修改的file2數據(即當前時刻工作空間的文件數據狀態)。因此,commit的時候,就等同于保存了一次快照。

快照怎么進行
git會讀取當前工作空間的所有數據,進行數據預存,再重新調整。它會和上一次的快照版本的內容進行比較,對于沒有改變的文件數據,git會把當前預存中冗余文件的數據去除掉,改為保留指向上一個版本中該文件數據的指針,對于有差異的文件數據就會保留下來,最終再把數據完整保存下來,這才算是執行了一次快照。

git和CVS,、Subversion等的區別
兩者的差異在于對待保存數據的方式。前者是記錄和組裝一系列快照流的微型系統,關心文件數據的整體是否發生變化。每次commit的時候保存一次快照,而每個快照都包含了完整的數據;后者則關心文件內容的具體差異。第一次保存了完整的數據,往后每次保存的都不是完整的數據,只會記錄基于之前的版本和現在兩者的變化信息,對于此外沒有變化的都不會去記錄。

本文參考:

.?git
.?quoar

總結

以上是生活随笔為你收集整理的如何理解git的快照?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。