[请益] 大型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   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