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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Git 存储过程探究_无赖皮肤-ChinaUnix博客

發布時間:2025/3/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Git 存储过程探究_无赖皮肤-ChinaUnix博客 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


1一些基礎概念
1.1SHA1

SHA1是密碼學上的一種算法,git通過它來識別文件。在git中,通過對“對象”進行計算得來的SHA1,來得到對該文件項目的索引。其中SHA1值是一個40 個字符大小的“對象名”。所有對該文件的索引,都是通過該SHA值進行的。


實例:


  • ~/ChenOS$ git log commit 4931e7216c6128fc86ee517f644e0cabc5be1cdc Author: Li Shuo Date: Sat Sep 1 08:44:26 2012 0800 在emacs下測試一下 commit 31ea7b0e2727c11250c45c0e4783a7c9bad79b42 Author: Li Shuo Date: Sat Sep 1 07:44:38 2012 0800 對freedos進行忽略,不提交到版本庫 commit 5380879d00d6cc47b68b43387715f844362c1e09 Author: Li Shuo Date: Fri Aug 31 20:47:37 2012 0800 add freedos.img, modified bochsrc and make it into protectmode commit c1007d90ff564de39dd4c5a53231cadf941816df Author: Li Shuo Date: Fri Aug 31 20:03:46 2012 0800

  • 其中的commit后面跟著的就是SHA值。


    1.2bolb對象

    bolb用來存儲文件的內容,它是一塊二進制數據。Blob對象不像Tree或者 commit對象一樣,它沒有指向任何東西或者其它屬性。所以說,它本質上就是一個存放文件內容的倉庫。


    1.3tree對象

    一個tree對象通常有多個指向blob對象或者其它tree對象的指針,這個指針其實就是一個SHA值。tree對象一般用來表示內容之間的目錄和層次關系。


    1.4commit對象

    commit對象指向一個tree對象,并且它本身帶有一些相關的描述信息。


    2實例測試

    2.1首先查看commit對象的SHA值

    使用git last命令可以查看最近一次的提交,下面commit所跟的即是該次 commit的索引,我們可以利用該SHA值查看commit中的內容。


    該命令的語法格式:

  • git last
  • 測試:

  • ~$ cd ChenOS/ ~/ChenOS$ git last commit 4931e7216c6128fc86ee517f644e0cabc5be1cdc Author: Li Shuo Date: Sat Sep 1 08:44:26 2012 0800 在emacs下測試一下


  • 2.2查看commit對象中的內容

    從上一步中,我們找到了commit的SHA值,接下來可以使用該值查看commit的存儲結構。


    該命令的語法格式:


  • git show -s --pretty=raw [commit-SHA]

  • 測試:

    ~/ChenOS$ git show -s --pretty=raw 4931e7216ccommit 4931e7216c6128fc86ee517f644e0cabc5be1cdctree f5b7e53e20b4fc8aea3050863c8e69962850c4a6parent 31ea7b0e2727c11250c45c0e4783a7c9bad79b42author Li Shuo 1346460266 0800committer Li Shuo 1346460266 0800在emacs下測試一下

    從命令的輸出結果上看,在commit中,存儲這該commit的索引,以及tree對象,父對象,作者和提交者的信息。在這里,我們需要的只是tree對象的索引。


    2.3查看tree對象中內容

    由上一步,我們找到了commit指向的tree對象,我們就查看tree對象里面存著什么。


    語法格式:


  • git ls-tree [tree-SHA]

  • 測試:


  • ~/ChenOS$ git ls-tree f5b7e53e20b
  • 100644 blob e930018d222af541a6ec6ea93b7b09ae8af27141 .gitignore
  • 100644 blob 83019b82b43bfdcff6cc3a0fb654a8c217644cb3 README
  • 040000 tree 8034271b096fa202f664224651aade823918b4f3 V0.1

  • 從輸出可以很清楚的看到,tree對象里面包含著blob對象以及其它tree對象的索引。仔細看,其中那個tree對象索引是一個目錄,跟上面兩個的屬性不一樣。而在這里,我們需要的是blob對象,我們希望知道blob里面放著什么。


    2.4查看bolb對象中內容

    語法格式:


  • git show [blob-SHA]

  • 測試:


  • ~/ChenOS$ git show e930018d222a
  • V0.1/freedos.img
  • *.img
  • *.bin
  • *.a
  • *.o
  • ~/ChenOS$ git show 83019b82b4
  • This is my project of ChenOs.
  • It's small , but all made by myself.

  • 我們再用cat看看這兩個文件的內容:


  • ~/ChenOS$ cat .gitignore
  • V0.1/freedos.img
  • *.img
  • *.bin
  • *.a
  • *.o
  • ~/ChenOS$ cat README
  • This is my project of ChenOs.
  • It's small , but all made by myself.

  • 看清楚了吧,兩者實際上是一樣的,也就是說blob對象存儲著文件的內容。


    3總結

    到現在,我們可以說基本上搞明白了git存儲過程。Git通過SHA值找到commit對象,在commit對象中存儲著對tree對象的索引;接著通過該tree索引,找到tree對象, tree對象中存儲著對blob對象和其它tree對象的索引;最后,通過索引找到blob 對象,而blob對象中則存儲著實際的文件內容。整個過程完成。


    轉載于:https://blog.51cto.com/5938138/989015

    總結

    以上是生活随笔為你收集整理的Git 存储过程探究_无赖皮肤-ChinaUnix博客的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 久久人人爽人人 | 日韩欧美xxx | 狠狠干老司机 | 日韩精品一区二区三区 | 天天曰夜夜曰 | 三级视频网址 | 国产成人愉拍精品久久 | 福利二区| 少妇在军营h文高辣 | av.www| 91嫩草影视| 日韩超碰| 成人自拍在线 | 女人18毛片一区二区三区 | 午夜寂寞影院在线观看 | 2021国产在线视频 | 亚洲人成无码网站久久99热国产 | 神马久久av | 久久成人视屏 | 日本三级中国三级99人妇网站 | 精品一区二区三区不卡 | 免费在线观看av片 | 亚洲妇女无套内射精 | 免费小视频 | 欧美成人综合视频 | 日韩中文字幕第一页 | 人妻与黑人一区二区三区 | 亚洲欧美一二三区 | 久久一区二| 久久1234 | 国产精品久久久一区 | 精品人妻无码一区二区性色 | 久久久久久国产精品三区 | 久久九九视频 | 亚洲狼人av | 亚洲成人精品久久 | 黄色三级免费 | 中国亚洲老头同性gay男男… | 午夜一区在线观看 | 久久久欧美精品 | 国产一级二级三级 | 狠狠人妻久久久久久综合 | 国产精品国产三级国产专播精品人 | 999久久久精品视频 亚洲视频精品在线 | 二区影院| 国产精品一区二区三区久久 | 欧美成人综合在线 | 资源av | 国产精品aⅴ | 天堂久久精品忘忧草 | www日韩在线观看 | 污污视频网站免费观看 | 亚洲精品无码久久久久久久 | 女人高潮被爽到呻吟在线观看 | 男男在线观看 | 亚洲天堂网站 | 久久久久99精品成人片我成大片 | 91精品国产自产精品男人的天堂 | 欧美中文网 | 色猫咪av| 成人免费区一区二区三区 | 久久艹中文字幕 | 国产亚洲二区 | 伊人青青操| 蜜芽在线视频 | 少妇人妻综合久久中文字幕 | 男女操操操| 神马午夜888 | 久久久久久无码精品人妻一区二区 | 午夜久草| 亚洲玖玖玖 | 男插女动态图 | 青青草综合视频 | 日本视频在线免费观看 | 亚洲尤物视频 | 99在线视频免费观看 | 久久精品一本 | 国产精品一亚洲av日韩av欧 | 日韩毛片高清在线播放 | 久久青青国产 | 四虎永久在线 | 无码熟妇αⅴ人妻又粗又大 | 91视频黄色 | 四季av一区二区凹凸精品 | xx99小雪| 免费一级一片 | 国产精品av在线播放 | 欧美国产专区 | 在线观看网站av | 特级西西人体wwwww | 欧美性精品 | 久草大| 亚洲福利社 | 久久调教| 波多野结衣在线 | 美女av在线播放 | 人人澡人人澡人人澡 | 91av国产在线 | av网址有哪些|