[請益] 大型Git版本庫的備份或替代方案

作者: danny0838 (道可道非常道)   2022-02-01 23:17:53
我有一些大型的Git版本庫,存放特定專案要用到的文獻資料。
目前檔案大約2000餘個,大多是pdf、doc(x)檔案及一些文字檔,
單檔大小可達數百MB,版本庫總大小約數十GB。
由於總版本庫過大,無法同步到 GitHub、GitLab 備份。
使用Git管理的原因是這些檔案修改內容時希望有版本回溯機制,
有時也會有資料夾層級的重整(移動至其他資料夾、更改檔名等),
一樣希望有資料夾層級的版本回溯機制。
此外希望版本記錄是可自訂的(類似 Google 雲端硬碟的永久保存版本),
並且以開放格式儲存(而不是只存在 NAS 內部)。
目前是 Git 用得比較順手,但如果有更好的備份及版控方案會考慮。
不曉得各位先進有這麼大的Git版本庫時,會用什麼方式做備份?
除了備份到外接硬碟可以直接在本機操作 push, pull 以外,
如果想備份到其他電腦,遠端桌面連線無法做Git同步...
Syncthing 之類的檔案同步方式也不適合用於Git...
有在想架設 NAS,
但不曉得 NAS 是否允許 Git 同步以及內部操作 repack 等維護?
(repack 大型 repo 怕因為記憶體或 CPU 限制而無法完成,
或過程中整個 NAS 掛掉)
或者有其他比Git更好的替代方案?
(目前沒看到更適合討論Git問題的版,如有更適合的版歡迎告知)
作者: forever215   2022-02-01 23:21:00
自己架Git Server 在弄一套Mirror 就備份完了
作者: neo5277 (I am an agent of chaos)   2022-02-01 23:28:00
自己組電腦,裝一個gitserver這樣,然後多備份一個?
作者: MoonCode (MoonCode)   2022-02-01 23:53:00
https://www.linux.com/training-tutorials/how-run-your-own-git-server/https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-git-large-file-storage
作者: joshua5201 (炸蝦子)   2022-02-02 00:13:00
你的東西都是binary 不適合git吧 那個也很難看diffs3/gcs那種的容量便宜每個檔案加個timestamp上去
作者: longlyeagle (長鷹寶寶實驗室)   2022-02-02 00:35:00
binary用git版控很怪吧... 不如自己出個hash管理不然你乾脆用 amazon s3 直接用 versioning 功能最快
作者: musie (Sirius)   2022-02-02 00:37:00
1. Perforce 2. Mecurial
作者: forewero (木日一)   2022-02-02 00:49:00
直接上aws codecommit 他也是git 你的量應該是免費
作者: roccqqck (ccqq)   2022-02-02 00:59:00
pdf或圖片這種東西本來就不適合用git這種東西還不如用單純用檔名+日期你單檔能百mb一定是大量圖片的doc或pdf
作者: yfr   2022-02-02 01:05:00
我有一招很鬧,但我現在的確正在使用,Mac的時光機
作者: roccqqck (ccqq)   2022-02-02 01:06:00
除非你用latex或markdown或html不然一堆圖片的檔案 你就算版控每次都超佔容量
作者: yoche2000 (Sushi Desu! 在下壽司)   2022-02-02 01:26:00
搞個VM呢 邏輯上的 stand alone server
作者: pttworld (批踢踢世界)   2022-02-02 01:47:00
windows你用gitblit這套免費的,硬碟容量你裝幾T應該夠基本上自己組一台桌上型最省錢,容量要多大有多大
作者: DiLegend (JOU)   2022-02-02 02:00:00
聽起來直接用nas檔案管理就好吧?一堆pdf你git也看不出改什麼吧
作者: now99 (陳在天)   2022-02-02 02:04:00
檔案用git ?乾脆ftp nas 快照備份
作者: Apache (阿帕契)   2022-02-02 03:06:00
git lfs
作者: ken8203 (Jayzzz)   2022-02-02 03:37:00
AWS S3 啊,開啟 versioning,同檔名的可以有版本區別,所以你只要無腦蓋過去就好了
作者: jimmy789lee (LEVEL_UP)   2022-02-02 03:56:00
git lfs 正解
作者: MonyemLi (life)   2022-02-02 07:25:00
s3加版控功能就上面ken提的
作者: wahaha279 (哇哈哈:3)   2022-02-02 08:14:00
本來就是code的部分用git,不適合 git 的部分用dvc(data version control)。
作者: gn00742754 (西門貓)   2022-02-02 09:00:00
git-annex
作者: Bencrie   2022-02-02 11:12:00
版控不是給你備份檔案用的
作者: jake080449 (伏)   2022-02-02 13:05:00
檔案應該用雲端比較好吧?git的專長不是處理檔案吧...
作者: Belieeve (芥末拿鐵)   2022-02-02 14:05:00
照上面大大說的找DVC好像滿多心得的 (英文
作者: musie (Sirius)   2022-02-02 14:20:00
mercurial LargefilesExtension 這麼舊了 不看一下..
作者: will3509111 (呆丸郎)   2022-02-02 15:28:00
timemachine
作者: alpe (薛丁格的貓)   2022-02-02 15:39:00
Dropbox history version
作者: abc0922001 (中士abc)   2022-02-02 17:20:00
github 不是有大檔案 binary 的解決方案嗎
作者: damody (天亮damody)   2022-02-02 17:54:00
你的問題可能在硬體不是軟體 升級硬碟用三星7000MB/s ssd組raid0 如果不在本機要再加上10gb網路線10gb路由器就可以了
作者: samchung (不是咖啡店小開XD)   2022-02-02 20:18:00
免VM,本機建個目錄bind進docker跑Gitea解決
作者: xluds24805 (狼)   2022-02-02 20:28:00
Dropbox
作者: longlyeagle (長鷹寶寶實驗室)   2022-02-02 20:33:00
自己管hash的意思是你定期抓checksum看更新做備份這樣Git只要存hash跟備份位置就好可以直接排進CICD裏面
作者: timfan3939 (K61+417)   2022-02-02 20:58:00
自己使用雲端專案架Gitlab伺服器,要多大有多大
作者: tomap41017 (絕夢)   2022-02-02 21:39:00
你是不是沒看懂GIT LFS的意義?拜託別嗆人LFS是幫你把二進位檔案傳到別的地方去,GIT只存指標的概念。你依然是使用GIT版控
作者: htury (冰點)   2022-02-02 21:41:00
看起來跟git無關,只是要符合需求的檔案管理跟備份,買雲端空間存進去不就好了,有板控跟備份在依據需求寫個歸檔系統
作者: MonyemLi (life)   2022-02-02 22:07:00
https://docs.gitea.io/zh-cn/config-cheat-sheet/人少gitea就夠了,設定檔改一下檔案大小限制剩下就硬體跟作業系統的限制了
作者: guanting886 (Guanting)   2022-02-02 22:26:00
NAS + 自己手動在檔名數字編一編 or 自己設計歸檔軟體比較快PDF應該很難讓你做DIFF,因為檔案不一定可以透過程式抽出字,會因為被受保護 或 字被轉成純向量就無法直接比對了Dropbox 不錯 只是版本付費到最頂 應該也只能看到半年前的Git 的設計一開始就為 Linux Kernel 開發/維護而生的,而這個東東經歷過了百萬以上的 commit 你去上面拉下來大概 1G 多而已應該不適合用在原PO的需求上,因為人家是在維護軟體工程的啊XD.
作者: timTan (用口頭禪區分年記)   2022-02-02 22:38:00
試試git Dropbox 混搭如何。最適合你的工作流程
作者: qmailtw (愛八卦的主管滾遠點)   2022-02-03 00:01:00
你有試過 OpenSSH 的 server 設定嗎?
作者: acgotaku (otaku)   2022-02-03 00:48:00
幾百G算滿小了拉,gcp/aws起個容器 定時鏡像就解決了也沒多少錢,絕對比你架nas還要安全
作者: IcecreamHsu (冰淇淋)   2022-02-03 01:24:00
GoodSync?
作者: cha122977 (CHA)   2022-02-03 01:47:00
不會改內容的東西用普通的雲端硬碟就好了吧
作者: wulouise (在線上!=在電腦前)   2022-02-03 10:25:00
生魚片刀切牛好不好用?
作者: xxxxae86 (非洲大草原)   2022-02-03 11:08:00
一般都指定檔案吧?有指定資料夾層級的?
作者: joehwang (便宜十塊錢)   2022-02-03 11:18:00
往備份套件的方向找呢? 這類軟體可以滿足資料夾回復,使用增量備份佔的空間也不大 e.g. Duplicati, Acronis
作者: kyrc (橘子)   2022-02-03 12:40:00
gitea + dropbox
作者: roccqqck (ccqq)   2022-02-03 17:21:00
問一下gitea有比gitlab好用嗎
作者: Bencrie   2022-02-03 18:51:00
那是不同量級的東西
作者: gmoz ( This can't do that. )   2022-02-03 19:10:00
感覺 one drive就夠了 還剛好買office 365
作者: Vitaceae (Vit)   2022-02-04 19:50:00
哪那麼麻煩 資料夾歸檔用 script 批次指定 symlink 就好,symlink 用 git 建立歷史資訊
作者: pttuser2266 (pttuser2266)   2022-02-04 23:09:00
繼續用 GitHub, 檔案先分類,每個分類開一個 sub module , 如果未來單一 sub module 超過上限,可以考慮archive 一份進雲端,然後移除久遠的記錄
作者: shter (飛梭之影)   2022-02-05 00:14:00
這種需求反而比較適合裝 CVS 或 SVN 來用
作者: yoyo890121   2022-02-05 02:50:00
兩台Windows可以用shared folder 建立bare repo設定好remote 路徑 push上去即可
作者: MonyemLi (life)   2022-02-05 09:30:00
gitlib功能多很多,較耗資源。少人的gitea會較省資源。
作者: cathychg (凱西)   2022-02-05 20:11:00
喔喔喔喔喔喔~找廠商。
作者: abola921 (南港金城武)   2022-02-06 01:50:00
binary 不能diff 的,想跟 code 一樣的管理思維要看你打算付出多少成本才好給建議吧每一個版本,等同是一份拷貝,加上備份,這用git跑越久儲存成本越是巨大。真的有需要搞成這樣嗎?
作者: Bencrie   2022-02-06 12:01:00
也不是不能 diff,看檔案性質
作者: ssd860505da (JAGER)   2022-02-08 09:52:00
rsync incremental backup
作者: dogz (dogz)   2022-02-09 14:10:00
AWS S3
作者: Killercat (殺人貓™)   2022-02-11 04:55:00
你這種就別git了,AWS S3開versioning照三餐丟檔案就好
作者: jtrtsay (《《【JT】》》)   2022-02-12 01:04:00
對啊 pdf是在git什麼?
作者: cathychg (凱西)   2022-02-15 17:40:00
sa sd 要先出來啊…ER 圖 PM要切需求啊切完需求 才能模組做版控啊… 這?

Links booklink

Contact Us: admin [ a t ] ucptt.com