這篇文章主要介紹了Rugged::Commit類怎么使用的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Rugged::Commit類怎么使用文章都會有所收獲,下面我們一起來看看吧。
站在用戶的角度思考問題,與客戶深入溝通,找到峨眉山網(wǎng)站設(shè)計與峨眉山網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋峨眉山地區(qū)。
1.遍歷倉庫的Commits
Rugged::Walker是用來對倉庫的commits集合進行遍歷的。
walker = Rugged::Walker.new(repo) #c walker.sorting(Rugged::SORT_TOPO | Rugged::SORT_REVERSE) #遍歷方式(按拓撲逆序,也可以采用時間順序) walker.push(hex_sha_interesting) #感興趣的commit的oid(sha)值,從該sha開始進行遍歷 walker.hide(hex_sha_uninteresting) #不希望遍歷的sha(由此包括其前面的sha) walker.each { |c| puts c.inspect } #遍歷輸出 walker.reset
2.創(chuàng)建Commit
author = {:email=>"zouqilin@csu.edu.cn", :time=>Time.now, :name=>"zouqilin"}#代碼作者 committer = {:email=>"zouqilin@csu.edu.cn", :time=>Time.now, :name=>"zouqilin"}#提交者 Rugged::Commit.create(r, :author => author, :message => "Hello world\n\n",#提交信息 :committer => author, :parents => ["2cb831a8aea28b2c1b9c63385585b864e4d3bad1"],#父提交 :tree => some_tree,#構(gòu)建的根樹 :update_ref => "HEAD"#需要更新的分支名 #=> "f148106ca58764adc93ad4e2d6b1d168422b9796"#返回值,創(chuàng)建的commit sha值(oid)
3.獲取Commit的相關(guān)屬性和目錄,文件以及submodule
lastest_cmt = repo.head.target#獲取HEAD指向的Commit root_tree = lastest_cmt.tree#獲取根樹 entries = root_tree.entries#獲取根樹的文件和目錄(包括submodule)列表 entries.each{|e|puts e}#打印 #結(jié)果如下 {:type=>:blob, :oid=>"99e7edb53db9355f10c6f2dfaa5a183f205d93bf", :filemode=>100644, :name=>".gitignore"} { :type => :tree, :name => "lib", :oid => "e1253910439ea902cf49be8a9f02f3c08d89ac73", :filemode => 040000 } { :type => :blob, :name => "README.md", :oid => "81b68f040b120c9627518213f7fc317d1ed18e1c", :filemode => 0100644 } raw_blob = repo.lookup("81b68f040b120c9627518213f7fc317d1ed18e1c")#獲取raw_blob從而得到文件大小和內(nèi)容 raw_blob.size #文件大小 raw_blob.data# ascii編碼內(nèi)容 raw_blob.text#utf-8文本 raw_tree = repo.lookup("e1253910439ea902cf49be8a9f02f3c08d89ac73") raw.entries#目錄下的entry raw.count#目錄下的entries count raw.path("lib/string.h")#獲取string.h的entry
關(guān)于“Rugged::Commit類怎么使用”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“Rugged::Commit類怎么使用”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。