如果您擔心處理大型Visio文件的內存問題,爲什麼不利用git的分佈式特性並設置多個存儲庫?像這樣。
Root Folder (Git Repo)
.gitignore (that ignores the Visio Folder)
Visio Folder (Also a Git Repo)
工作自由,無需擔心提交您的Visio文件。然後,當您對更改感到滿意時,只需將目標文件放在目錄下即可。提取並提交它。這似乎不雅,但如果您的Visio文件夾中獲得超過內存的擔憂行不通,你可以打破它,因爲你需要的一切是在它下面的混帳回購協議。 (保留大的二進制文件免於回收空間的唯一真正方法是不提交它們。)
如果此解決方案過於粗糙,請將您的Visio文件夾設置爲根文件夾的遠程文件夾。讓您的Visio文件夾包含兩個獨立的分支,一個包含提交,其中包含您的巨型文件,另一個則不包含。只需從沒有Visio文件的分支中獲取。如果仍然無法控制,則需要安裝遠程控制檯,子文件夾等,直到獲得能夠爲您生成有意義的工作流程和歷史記錄的存儲庫結構。
添加本地遠程
cd 'Root Folder'
git remote add visiofiles 'Visio Folder'
如果你感到冒險精神,你可以調查Git的「乾淨」和「塗抹」過濾器(它們被調用的文件,當你提交和結帳 - 他們」重新打算讓你使用與你的團隊不同的縮進規則,但你可能能夠壓縮和解壓縮東西)。如果您要提取Visio文件以更好地檢查更改,則可以利用git的textconv配置文字。 Git讓我們在文件上調用自定義差異,一種方法是將該文件轉換爲字符串並在其上運行差異。這確實需要您對.gitconfig和.gitattributes文件感到滿意,併爲字符串轉換找到合適的程序。
但您所描述的問題,是一個記憶的關注,所以鉤子和配置您可用可能沒有必要。
你見過這個:http://stackoverflow.com/questions/17501146/uncompressing-zipped-data-files-before-committing-to-repository –
我同意你說的每一句話。什麼阻止你在結帳前解壓文件並添加組件XML文件? –