精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Git如何處理大倉庫

開發 后端
git 是追蹤代碼庫演進的最佳選擇 ,并且它能讓你與你的同事間高效協作。當你想要追蹤的庫非常巨大時會發生什么?

git 是追蹤代碼庫演進的***選擇 ,并且它能讓你與你的同事間高效協作。當你想要追蹤的庫非常巨大時會發生什么?

在這篇文章里,我會嘗試著給你一些想法和技巧來恰當地處理不同種類的大倉庫。

兩種大代碼庫

如果仔細想想,大概會有兩種導致倉庫大規模增長的原因:

  • 項目累積了非常長的歷史(項目成長了很長一段時間并且積累了包袱)。

  • 項目包括了巨大的二進制資產,需要與代碼一起跟蹤配對。

  • 兩者皆有。

因此,倉庫的增長有兩個維度的方向:工作目錄的尺寸——例如:最近一次提交,和整個累積歷史的尺寸。

有時第二種問題會與老的過時的二進制生成的東西(artifact)混合,它們都被放在倉庫中,不過這類問題是比較容易處理的——如果它們很討厭,就覆蓋它們,見下文。

上述兩種場景需要的技巧和解決方案是不同的——盡管有時候需要互補——讓我們分別來處理它們吧。

處理擁有大量歷史記錄的庫

將一個庫視為 大規模 庫的界線非常高 - 比如 Linux 內核的***一個版本記錄了超過 1500 萬行代碼,但人們仍然愿意完整閱讀 - 由于監管/規定方面的原因,某些很老的項目仍然需要保持完整,克隆它們是件痛苦的事情(現在通過拆分 Linux 庫的方式使其結構清晰,它被拆分為歷史庫和最近時期的庫,需要通過嫁接設置來訪問完整的歷史記錄)。

淺克隆是簡單的的解決辦法

為了更快、更節省開發者和系統時間也更節約磁盤空間,***個解決辦法是使用 git 進行淺克隆。通過淺克隆可以只克隆某個庫***的歷史記錄。

怎么做到?只需要使用 --depth 選項,比如:

git clone --depth depth remote-url

想像一下,如果你的項目庫中積累了 10 年甚至更長時間的歷史記錄 - 比如 JIRA 是我們往 git 遷移的一個 11 年的老庫 - 累積節約的時間非常顯著。

完整的克隆 JIRA 有 677 MB,如果包含工作目錄還有另外的 320+ MB,總共超過 47,000 多次提交。通過淺克隆的方式檢出 JIRE 需要 29.5 秒,而檢出完整的歷史記錄則需要 4 分 24 秒。隨著時間地推移及項目二進制資產的增長,這個差距也會成比例的增長。任何情況下,構建系統都會大大受益于這種技術(指淺克隆)。

最近 git 改善了對淺克隆的支持

過去淺克隆就像 git 世界里的殘障人士一樣,某些操作并未得到支持。不過最近的版本 (1.9+) 對此有著顯著的改善,現在甚至可以適當的對淺克隆庫使用 pull 和 push 操作。

另一個解決辦法是 filter-branch (過濾分支)

巨大的庫往往存在著大量錯誤的提交或無用的資源,對此,使用 filter-branch 是個很好的解決辦法。這個命令可以根據預先定義的模式對項目歷史進行過濾、 整理 、修改,甚至跳過一些文件。它是 git 工具集中的一個非常強大的工具。目前已經有腳本可以用于識別 git 庫中的大型對象,所以它使用起來非常容易。

使用 filter-branch 的示例:

git filter-branch --tree-filter 'rm -rf /path/to/spurious/asset/folder' HEAD

filter-branch 有一個小小的缺點:一旦使用了 filter-branch,實際上已經重寫了整個項目歷史,因此每次提交的 ID 都會發生變化。這要求每個開發者都要重新克隆更新后的庫。

所以,如果你打算使用 filter-branch 來進行一次清理行動,應該警告你的團隊,計劃一個短期的凍結來進行操作,然后通知大家重新克隆庫。

淺克隆的替代者:只克隆一個分支

從 2012 年 4 月發布的 git 1.7.10 開始,你可以通過只克隆某一個分支來限制歷史記錄的數量,就像這樣:

git clone URL --branch branch_name --single-branch [folder]

對于長期運行分發的分支,或者你在有很多分支的情況下,這個特殊的技巧都非常有用。如果你只有極少數分支,那這個辦法不會帶來顯著的效果。

Stack Overflow 參考

處理擁有巨大二進制資產的庫

第二類大型倉庫中的代碼含有 巨大的二進制資產 。游戲團隊要處理巨大的 3D 模型,Web 開發團隊需要跟蹤圖像資產,CAD 團隊可能需要操作和跟蹤二進制交付物的狀態。所以有各種不同的軟件團隊在使用 git 的過程中會遇到這樣的問題。

git 在處理二進制資產的時候并不是特別差勁,但它也不會干得特別好。默認情況下,git 會完整壓縮存儲二進制資產的所有后續版本,如果你有很多二進制資產的情況下,這顯然不是***方案。

可以通過一些 基本的調整來改善情況 ,比如運行垃圾回收 git gc,或者在 .gitattributes 中對部分二進制類型進行調整,以使用 delta 方式的提交。

不過有一點很重要,對項目中不同性質的二進制資產可能需要不同的方法。例如,這里需要檢查三個方面(感謝 Stefan Saasen 的評論):

  • 對于變化顯著的二進制文件 - 這是指不僅只有元數據頭變化 - 這時增量壓縮可能沒什么作用,建議對這些文件關閉 delta 選項,以避免不必要的增量壓縮并重新打包

  • 對于上述情形,就像某些文件通過 zlib 壓縮并不會有多好的效果,你使用 core.compression 0 或 core.loosecompression 0 來關閉壓縮功能一樣;這是一個全局設置,它會對其它壓縮效果不錯的非二進制文件帶來負面影響。因此建議你把二進制資產放在單獨的庫中。

  • 一定要記住 git gc 將“重復的”松散的對象變成一個單獨的包文件,除非以任何方式壓縮文件都不會使生成的包文件有顯著差異。

  • 探索調整 core.bigFileThreshold 帶來的效果。任何大于 512 MiB 都不會采用 delta 壓縮 - 如果沒有設置 .gitattributes 的話 - 所以這樣的調整值得一試。

技巧1: 稀疏檢出

一個溫和的管理二進制資產問題的方法是 稀疏檢出 (從 Git 1.7.0 之后可用)。我們可以通過顯式地詳細說明要填充的文件夾來保持工作目錄的清潔。 不幸的是,它并不能影響整個本地存儲庫的大小,但如果你有一個巨大的樹形文件夾,這可能是有用的。

涉及到哪些命令呢? 示例如下( credit ):

  • 僅克隆全部存儲庫一次::git clone <repository-address>

  • 激活以下功能:git config core.sparsecheckout true

  • 添加那些需要顯式依賴的文件夾,忽略 assets 文件夾:

echo src/ ? .git/info/sparse-checkout
  • 讀取指定的樹目錄:git read-tree -m -u HEAD

之后,你可以使用正常的 git 命令了,但你的工作目錄將只包含你指定的文件夾。

技巧2:使用子模塊

還有另一種處理二進制資產目錄的的方法,就是把它們拆分到一個單獨的庫,然后在主項目是通過把它拉取為 子模塊 。使用這種方法你可以控制資產的更新。需要了解子模塊,可以看看: 核心概念與技巧 和 另一個選擇 。

如果你想繼續使用子模塊的方法,你可能需要檢查 項目依賴 的復雜性。我提到的方法對解決大型二進制文件問題會有所幫助。

技巧3:使用 git-annex 或 git-bigfiles

git 中處理二進制資產的第3個選擇依靠第三方擴展。

我要說的***個擴展是 git-annex ,它可以使用 git 管理二進制文件,但不需要把文件內容檢入庫中。git-annex 使用一個特殊的鍵值庫來保存文件,然后將符號鏈接像普通文件一樣檢入 git 庫中進行版本管理。這種用法非常直接,還有 一看就能明白的例子

第二個擴展是 git-bigfiles ,一個 git 分支, 適合于使用 git 分享項目大文件的人

不要因為你的庫有著巨大的歷史記錄或巨大的資產就放棄 git。這兩個問題都可以得到解決。

 

責任編輯:張燕妮 來源: 開源中國社區
相關推薦

2019-08-15 10:20:19

云計算技術安全

2012-12-12 09:49:41

2020-12-29 09:11:33

LinuxLinux內核

2019-12-23 10:20:12

Web圖片優化前端

2017-10-26 08:43:18

JavaScript內存處理

2021-03-01 07:31:53

消息支付高可用

2021-05-31 10:47:17

SpringSecuritySession

2023-07-03 13:50:13

ReactonResize事件

2022-04-19 09:00:52

ReactTypeScript

2024-08-26 10:47:22

2010-05-17 10:04:45

2024-04-16 13:32:57

2023-01-04 10:01:21

ReactTypeScript元素

2011-02-28 14:08:31

網速變慢局域網網速

2025-01-09 10:20:53

2021-03-24 10:40:26

Python垃圾語言

2010-09-01 15:40:10

DHCP服務器

2011-12-15 12:32:19

JavaNIO

2023-06-13 07:34:10

2018-11-21 12:27:21

JavaScript 貨幣值區域
點贊
收藏

51CTO技術棧公眾號

91麻豆免费看| 久久国产亚洲精品| 一本色道a无线码一区v| 欧美日韩精品一区| 国产精品怡红院| 国模一区二区三区| 亚洲激情视频在线播放| 蜜臀视频一区二区三区| 99热国产在线| 不卡av免费在线观看| 精品123区| 欧美1区二区| 91久久线看在观草草青青| 自拍偷拍亚洲色图欧美| 亚洲成人中文字幕在线| av在线私库| 91老司机福利 在线| 成人美女免费网站视频| 999这里只有精品| 五月天久久网站| 亚洲欧美激情另类校园| 91日韩精品视频| 91久久国产综合久久91猫猫| 91国产中文字幕| 亚洲影影院av| 免费在线观看黄网站| 国产精品久久久久久久精| 另类ts人妖一区二区三区| 欧美视频一二三区| 久久视频这里有精品| 天堂中文8资源在线8| 2021中文字幕一区亚洲| dy888夜精品国产专区| 国产成人精品亚洲| 国产农村妇女精品一二区| 久久99国产综合精品女同| 99精品欧美一区二区| 久久国产精品色av免费看| 91精品国产综合久久久久| 网站一区二区三区| 国产ktv在线视频| 亚洲综合色在线| 美国av在线播放| 免费黄色在线| 国产精品免费看片| 日本一区视频在线| 免费观看黄色一级视频| 丰满亚洲少妇av| 999国内精品视频在线| 国产精品久久久久毛片| 美女精品一区二区| 国产精品美女av| 亚洲精品一区二三区| 久久经典综合| 国产成人精品视频在线观看| 日韩av大片在线观看| 亚洲精品影视| 全球成人中文在线| 久草视频一区二区| 久久午夜激情| 国产精品久久久久av免费| 国产伦精品一区二区三区视频网站| 亚洲美女啪啪| 国产成人av网| 怡春院在线视频| 九色porny丨国产精品| 91精品久久久久久久| 国产又粗又黄又爽| 国产精一品亚洲二区在线视频| 91在线精品播放| 午夜精品无码一区二区三区| 国产成都精品91一区二区三| 国产v亚洲v天堂无码| 人妻无码一区二区三区久久99| 99在线精品观看| 国产一区二区日韩精品| 国产精品视频久| 在线观看毛片视频| 国产精品羞羞答答xxdd| 国产精品久久波多野结衣| 污视频网站在线播放| 久久久青草青青国产亚洲免观| 欧美高清性xxxxhdvideosex| av在线之家电影网站| 亚洲欧洲一区二区三区| 人妻激情另类乱人伦人妻| 九色porny丨国产首页在线| 一本一道综合狠狠老| mm131国产精品| 一区二区三区国产好| 亚洲精品xxxx| 国产福利在线导航| 韩国精品一区二区三区| 日本在线精品视频| 91 中文字幕| 成人av网站在线观看免费| 日韩av一区二区三区在线| 成人免费在线| 欧美性生交xxxxxdddd| 国产欧美一区二| 久久久久观看| 深夜福利一区二区| 欧美亚洲天堂网| 美女一区二区视频| 国产伦精品一区二区三区视频孕妇| 久久天堂电影| 亚洲国产精品久久久久婷婷884| 成人在线观看a| 99久热这里只有精品视频免费观看| 精品视频在线观看日韩| 日韩国产第一页| 快she精品国产999| 成人免费91在线看| 97人人在线| 韩曰欧美视频免费观看| 999久久久精品视频| 五月天亚洲色图| 欧美丰满少妇xxxx| 91黄色在线视频| 久久嫩草精品久久久精品一| 成人高清dvd| 久久精品黄色| 亚洲欧美日韩中文在线| 免费在线观看国产精品| 久久se精品一区精品二区| 精品视频一区在线| 尤物在线网址| 欧美一级淫片007| 亚洲精品91在线| 久久午夜影视| 国产自产精品| 丁香花高清在线观看完整版| 欧美一卡2卡3卡4卡| 日韩毛片网站| 日韩电影视频免费| 久久久久久久久艹| 国产在线视视频有精品| 亚洲第一综合| 人人鲁人人莫人人爱精品| 日韩久久免费电影| 天堂网一区二区三区| 国产69精品久久99不卡| 国产免费xxx| 亚洲伦理网站| 精品国内产的精品视频在线观看| 波多野结衣在线观看视频| 久久综合九色综合欧美就去吻 | 日韩一区二区三区xxxx| 国产又大又黄视频| 91视频你懂的| 日本免费一级视频| 天堂综合网久久| 欧美亚洲另类视频| 男女污视频在线观看| 欧美视频在线观看免费网址| 三级黄色片网站| 国产一区二区三区的电影| 开心色怡人综合网站| 日本免费一区二区六区| 精品在线欧美视频| 久久久999久久久| 国产精品乱子久久久久| 加勒比av中文字幕| 中文字幕亚洲精品乱码| 亚洲自拍小视频| 青草av在线| 亚洲电影免费观看高清完整版在线观看 | 亚洲五月天综合| 欧美色爱综合| 91久久久久久久久久| 色女人在线视频| 亚洲精品国产拍免费91在线| 亚洲婷婷综合网| 国产精品久久久久aaaa| 在线成人免费av| 亚洲国产导航| 日韩三级在线播放| 国产精品1区在线| 久久久亚洲国产天美传媒修理工| 污污网站免费在线观看| 色美美综合视频| 永久免费未视频| 成人精品亚洲人成在线| av免费中文字幕| 久久成人综合| 国产美女精品在线观看| 亚洲欧洲自拍| 久久精品国产欧美亚洲人人爽| 亚洲成人第一区| 色欧美乱欧美15图片| 老湿机69福利| 久久网这里都是精品| 福利视频999| 国产日韩1区| 日韩人妻精品一区二区三区| 欧美a级网站| 国产日韩精品视频| 91视频欧美| 俺去啦;欧美日韩| 天堂中文在线看| 这里只有精品电影| 午夜婷婷在线观看| 一区二区三区日韩在线观看| 日韩精品电影一区二区| 国产一区二区不卡在线| 久久久久久久少妇| 日韩视频三区| www国产无套内射com| 不卡视频在线| 久久精品ww人人做人人爽| 国产精品igao视频网网址不卡日韩| 69**夜色精品国产69乱| 最新国产在线拍揄自揄视频| 亚洲一区av在线播放| 好吊色在线观看| 欧美精品日韩精品| 蜜臀99久久精品久久久久小说 | 久久久久久久国产精品影院| 成年人性生活视频| 日本不卡一区二区| www.com毛片| 影音国产精品| 中文字幕日韩精品无码内射| 日韩dvd碟片| 欧美成人免费在线| 另类在线视频| 超碰97在线人人| 国产亚洲精aa在线看| 国产欧美日韩精品专区| 欧美日韩大片| 日本久久久久久久久| 高清视频在线观看三级| 国模视频一区二区三区| 日本乱理伦在线| 欧美黑人xxxⅹ高潮交| 国产美女在线观看| 久久久极品av| 免费在线毛片网站| 啊v视频在线一区二区三区| 日本暖暖在线视频| 精品精品国产国产自在线| 一区二区三区视频在线观看视频| 亚洲一区二区福利| 成人在线播放视频| 国产亚洲视频中文字幕视频| 搞黄视频在线观看| 综合久久五月天| 番号在线播放| 色偷偷噜噜噜亚洲男人的天堂| 丁香在线视频| 自拍偷拍免费精品| 激情在线小视频| 欧美另类第一页| 伦理在线一区| 欧美在线视频免费观看| 成人看片网页| 国产日韩精品综合网站| 日本免费在线一区| 69174成人网| 红杏aⅴ成人免费视频| 美日韩精品免费| 精品久久久久中文字幕小说| 色涩成人影视在线播放| 婷婷综合久久| 国产爆乳无码一区二区麻豆| 99精品视频网| 成人黄色一区二区| 久久se这里有精品| 亚洲国产精品狼友在线观看| 成人午夜又粗又硬又大| 国产艳俗歌舞表演hd| 国产精品素人一区二区| 婷婷在线精品视频| 午夜精品福利一区二区三区av| 老熟妇仑乱一区二区av| 欧美日韩国产一级二级| 精品区在线观看| 精品视频一区在线视频| 日本高清视频在线观看| 韩国19禁主播vip福利视频| 交100部在线观看| 国产精品专区第二| 精品国产午夜肉伦伦影院| 日本一区二区三区免费看| 亚洲天堂免费| 女性隐私黄www网站视频| 国产一区二区三区免费观看| 久久久午夜精品福利内容| 日本一区二区免费在线| 久久久久成人精品无码| 色天使色偷偷av一区二区| a级片免费视频| 亚洲午夜色婷婷在线| 91高清在线观看视频| 日韩美女主播视频| 成人搞黄视频| 伊人久久婷婷色综合98网| 99在线精品视频在线观看| 日本三级黄色网址| 91丨porny丨在线| 欧美日韩三级在线观看| 在线免费一区三区| 日韩一区二区三区不卡| 久久精品成人欧美大片| 黑人巨大亚洲一区二区久| 亚洲va久久久噜噜噜| 亚洲人成亚洲精品| 国产夫妻自拍一区| 九九久久精品视频| 第一次破处视频| 亚洲成a人片在线观看中文| 一区二区 亚洲| 国产亚洲欧美日韩美女| 国产777精品精品热热热一区二区| 成人欧美一区二区三区黑人孕妇| 伊人久久大香线蕉综合网蜜芽| youjizz.com在线观看| 久久成人综合网| 阿v天堂2014| 色婷婷久久久久swag精品| 欧美综合视频在线| 欧美高清在线视频观看不卡| 香蕉成人在线| 亚洲精品美女久久7777777| 视频一区二区国产| 亚洲黄色免费在线观看| 亚洲va天堂va国产va久| 午夜老司机福利| 欧美成人合集magnet| 亚洲二区av| 亚洲欧洲一区二区在线观看| 视频在线观看国产精品| 精品人妻一区二区三区香蕉| 亚洲成av人片在线| 刘玥91精选国产在线观看| 欧美成人三级视频网站| 亚洲人体在线| 国产精品99久久久久久大便| 蜜臀国产一区二区三区在线播放| 蜜桃无码一区二区三区| 一道本成人在线| 精品电影在线| 国产成人鲁鲁免费视频a| 自拍视频一区| 欧美性猛交久久久乱大交小说| 国产午夜精品福利| 夜夜爽妓女8888视频免费观看| 亚洲视频一区二区三区| 136福利视频导航| 色老头一区二区三区| 欧美日韩伦理一区二区| 亚洲一区二区不卡视频| 精品夜夜嗨av一区二区三区| 可以免费看av的网址| 制服.丝袜.亚洲.中文.综合| free性欧美hd另类精品| av色综合网| 国产精品视区| 亚洲一区二区自偷自拍| 欧美精品久久99久久在免费线 | 欧美激情777| 一级淫片在线观看| 有码一区二区三区| 人妻精品无码一区二区| 日韩av免费一区| 欧美r级电影| 欧美一级大片免费看| 黄色精品一区二区| 国产精品免费观看| 成人黄色免费网站在线观看| 国内久久精品| 亚洲午夜久久久久久久久红桃| 91国偷自产一区二区开放时间| 老司机精品视频在线观看6| 99国精产品一二二线| 国产精品社区| 成人午夜免费影院| 精品伦理精品一区| 成人免费无遮挡| 日本三级福利片| 9l国产精品久久久久麻豆| 国产美女www| 欧美激情视频网| 精品国产乱码| 久久黄色一级视频| 日本韩国一区二区| 日韩精品卡一| 日本一区二区三不卡| 国产99久久久久久免费看农村| 亚洲午夜18毛片在线看| 欧美精品免费在线观看| 亚洲理论电影| 在线观看欧美一区二区| 色综合久久中文综合久久牛| av大片在线| 亚洲精品国产精品国自产| 成人福利视频在线看| 亚洲天堂网视频| 国产91成人video| 欧美在线网址|