發表文章

目前顯示的是有「git」標籤的文章

Git-annex

最近幫客戶測試了大型檔案(>1G)放到Subversion與Git的效能問題, Git確實比Subversion快, 但是快的並是很讓客戶滿意, 觀察到了Git將檔案放到Local Repository會做 檢查檔案內容與上次版本的差異-->Git並不是存放每個版本的實體, 而是內容的差異部分, Binary檔案也是一樣, 所以這個動作鐵定會吃CPU的資源 存放到Local Repository前會先壓縮(壓縮比大約1:10)-->這個也是會吃CPU的資源 Local Repository存放與log處理--> 如果只存放差異部份與做壓縮, 這部份Disk I/O並部會很慢 所以從以上3個程序, 將大型的檔案要做版本控制, 無論是Git或是用Subversion, 都會很慢, 所以用Google找了一些相關資源, 找到了這一篇 http://stackoverflow.com/questions/540535/managing-large-binary-files-with-git , 從這個討論, 裡面有分享一個Open Source叫 git-annex , 這個git的延伸功能, 專門處理要使用Git來做大型檔案的版本控制, 像ISO image, VM image, Video檔案等等. 而且與Git repository完全相容. 簡單摘要這個git-annex的功能 git annex必須設定一個remote的storage, 這個remote storage就是用來存放大檔案的位置, 其存放格式使用key-value, 這個key應該就是git的revision, value是檔案的存放位置 當大檔案要進git repository, 必須用git annex來操作, 如git annex add, git annex commit  大檔案存放在git repository只是一個symbolic link告訴git annex真正的對應版本檔案放在哪裡 使用git annex commit的時候, 就省去了檔案內容比較, 與壓縮的時間, 但是要將檔案放到annex remote storage  git annex remote storage支援許多, 例如目錄(可以指到外...

EGit實務操作手冊

原本寫了許多Wiki How-to放在 http://devtoolnotes.esast.com , 不用登入就可以讀取, 但是最近發現有一些大陸專門索引網站的程式佔用太多頻寬,讓網站變的有點慢, 所以將這個wiki專案關閉, 關閉後用Google搜尋關鍵字又搜尋不到, 真是有一好沒兩好, 想到一個方法, 這邊會陸續整理以前寫過的wiki how-to摘要, 如果要看文章全部內容就註冊個帳號登入看, 我也希望登入 http://cb.esast.com 的網友可以給我一些回饋, 今天先整理最近最多人點閱的EGit實務操作手冊 摘要 EGit是Eclipse的Plugin, 讓開發者方便在Eclipse中使用Git功能, 這篇wiki how-to從egit安裝到操作都有涵蓋. 可以當做操作手冊來使用 中英文專有名詞對照 Git介紹 EGit簡介 EGit安裝 EGit基本功能操作 分支與合併 標籤功能操作 全文請看 http://cb.esast.com/cb/wiki/24803

DVCS(Distributed Version Control System)介紹

此篇Blog移到 http://ideas.esast.com/wordpresstw/?p=179