Git斷點續傳和離線增量更新的實現

cnblogs官方支持Markdown寫博客了,親測一下。
____css

什麼是Bundle文件

Bundle文件是在packfile文件的基礎上增長了代碼庫的元信息。通俗的說bundle文件就是一個便攜版的代碼庫,裏面能夠包含代碼庫所必須包含的信息。html

如何建立Bundle文件

參考git手冊git-bundlegit

git bundle create <file> <git-rev-list-args>

以下代碼能夠建立master分支的bundlegithub

git bundle create repo.bundle master

以下代碼能夠建立master分支最新10次更新的patch的bundlemarkdown

git bundle create repo.bundle master~10..master

如何導入Bundle文件

繼續參考git手冊git-bundle
能夠從bundle文件clone一個代碼庫,同理能夠嘗試一下從bundle文件fetch最新的代碼。
以下代碼能夠從bundle文件中fetch最新代碼fetch

git fetch repo.bundle

以下代碼能夠從bundle文件中clone完整的代碼庫ui

git clone repo.bundle

回到標題,如何斷點續傳,如何離線更新

都說到這了,還要告訴你如何斷點如何離線嗎?網上斷點下載bundle文件就能夠了。至於離線嘛,拿個u盤拷回去就能夠了。.net

舉一個例子(是「例子」仍是「栗子」)

  1. clone一個新的代碼庫 git clone https://github.com/Aimeast/GitCandy.git版本控制

  2. 進入代碼庫文件夾查看HEAD git show --quietcode

commit 6f11ee23c7a4218674ff48590065b11270e180bf
  1. 生成最近5次提交的bundle git bundle create ../patch.bundle dev~5..dev

  2. 重置當前分支到前5次提交 git reset --hard dev~5

HEAD is now at cb19dcf Fix DetectEncoding
  1. 執行gc並強制刪除全部過時對象 git gc && git prune --expire 0

  2. 從bundle文件獲取到最新代碼 git fetch ../patch.bundle dev

  3. 重置到最新的代碼 git reset --hard FETCH_HEAD

HEAD is now at 6f11ee2 Update according to @nulltoken 's advice

打個小廣告

Git Candy是一個ASP.NET MVC實現的git版本控制平臺,支持公共和私有代碼庫。
歡迎您的使用!

源碼在:http://github.com/Aimeast/GitCandy

演示在:http://git.53wb.com

對官方Markdown的評價

功能太原始,支持的太少,bug太多,跟GitHub Flavored Markdown的差別太大了。在github和Dingus完美預覽的md在這裏就錯誤百出,屢次屢次修改預覽後才成這個樣子,沒法接受!

強烈建議兼容GitHub Flavored Markdown

而且提供一套默認的CSS供Markdown使用

相關文章
相關標籤/搜索