看板 Soft_Job 關於我們 聯絡資訊
我有一些大型的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問題的版,如有更適合的版歡迎告知) -- 《終結內容農場》瀏覽器套件 Chrome: http://bit.ly/CFTGC (桌機 & Kiwi Browser on Android) Firefox: http://bit.ly/CFTFx (桌機 & Firefox for Android) 真相:http://bit.ly/CFTss1http://bit.ly/CFTss2 詳細介紹:http://bit.ly/CFTinfo -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.15.240 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1643728676.A.1B4.html ※ 編輯: danny0838 (220.137.15.240 臺灣), 02/01/2022 23:21:44
forever215: 自己架Git Server 在弄一套Mirror 就備份完了 02/01 23:21
想問有什麼具體的架設方案嗎? 假如兩台都是 Windows 電腦,有什麼簡單的架設方案嗎? 考慮過 NAS,擔心的問題如上所述。 我知道還有一招是租 VPS 架 Git server, 不過 VPS 普遍是用於架網站,單位容量價格偏高, 如果是純做資料備份似乎不太划算,因此打算作為最後線備案。 ※ 編輯: danny0838 (220.137.15.240 臺灣), 02/01/2022 23:29:07
neo5277: 自己組電腦,裝一個gitserver這樣,然後多備份一個? 02/01 23:28
MoonCode: ur-own-git-server/ 02/01 23:53
MoonCode: h-files/managing-large-files/about-git-large-file-s 02/01 23:54
MoonCode: torage 02/01 23:54
目前的問題應該是 Windows。 對於另一台 Linux 電腦,只要架起 SSH 就可以 git remote 了。 但是 Windows 的 OpenSSH 似乎不能這樣做。 專門組一台 Linux 電腦理論上是做得到, 但只為了幾十 GB 的版本庫組一台電腦不太划算, 希望能可以的話能和其他資料備份用同一台 NAS 解決。 (NAS 還在評估可行性未入手。如果無解可能只好架一台 Linux server 當 NAS?) ※ 編輯: danny0838 (220.137.15.240 臺灣), 02/02/2022 00:10:15
joshua5201: 你的東西都是binary 不適合git吧 那個也很難看diff 02/02 00:13
joshua5201: s3/gcs那種的容量便宜每個檔案加個timestamp上去 02/02 00:13
doc 檔案的話其實 TortoiseGit 就有支援 diff,其實不差。 pdf 目前還沒找到 diff 方案,不過有版控總是聊勝於無。 你所謂加個 timestamp 是指手動檔案命名像 myfile.20220202.docx 這樣嗎? 這樣不是比 git 更傳統原始?XD
longlyeagle: binary用git版控很怪吧... 不如自己出個hash管理 02/02 00:35
longlyeagle: 不然你乾脆用 amazon s3 直接用 versioning 功能最快 02/02 00:37
不太懂「自己出個hash管理」具體是指什麼?XD 目前主要仍是以本地作業為主,只是要找備份方案。 Amazon S3 似乎是純雲端服務?不曉得如何能滿足目前的需求?
musie: 1. Perforce 2. Mecurial 02/02 00:37
Mercurial 我以前用過,基本上沒 Git 好用,看不出來哪裡能解決問題? Perforce 似乎是付費VCS,能否說說有什麼feature能幫我解決問題? ※ 編輯: danny0838 (220.137.15.240 臺灣), 02/02/2022 00:51:15
forewero: 直接上aws codecommit 他也是git 你的量應該是免費 02/02 00:49
AWS 應該沒有免費支援數十GB的私人repo...
roccqqck: pdf或圖片這種東西本來就不適合用git 02/02 00:59
roccqqck: 這種東西還不如用單純用檔名+日期 02/02 01:00
roccqqck: 你單檔能百mb一定是大量圖片的doc或pdf 02/02 01:03
yfr: 我有一招很鬧,但我現在的確正在使用,Mac的時光機 02/02 01:05
roccqqck: 除非你用latex或markdown或html 02/02 01:06
roccqqck: 不然一堆圖片的檔案 你就算版控每次都超佔容量 02/02 01:06
yoche2000: 搞個VM呢 邏輯上的 stand alone server 02/02 01:26
本機使用時用 VM 效能會變差... 不過如果真的沒有 Windows to Windows 的同步方案, 可能最後會選擇用 VM 架一個 Linux git server 吧...
pttworld: windows你用gitblit這套免費的,硬碟容量你裝幾T應該夠 02/02 01:47
pttworld: 基本上自己組一台桌上型最省錢,容量要多大有多大 02/02 01:49
DiLegend: 聽起來直接用nas檔案管理就好吧? 02/02 02:00
DiLegend: 一堆pdf你git也看不出改什麼吧 02/02 02:00
now99: 檔案用git ? 02/02 02:04
now99: 乾脆ftp nas 快照備份 02/02 02:05
Apache: git lfs 02/02 03:06
ken8203: AWS S3 啊,開啟 versioning,同檔名的可以有版本區別, 02/02 03:37
ken8203: 所以你只要無腦蓋過去就好了 02/02 03:37
jimmy789lee: git lfs 正解 02/02 03:56
不曉得 LFS 如何解決 Git 跨機器同步的問題?
MonyemLi: s3加版控功能 02/02 07:25
MonyemLi: 就上面ken提的 02/02 07:26
wahaha279: 本來就是code的部分用git,不適合 git 的部分用dvc(da 02/02 08:14
wahaha279: ta version control)。 02/02 08:14
gn00742754: git-annex 02/02 09:00
Bencrie: 版控不是給你備份檔案用的 02/02 11:12
jake080449: 檔案應該用雲端比較好吧?git的專長不是處理檔案吧... 02/02 13:05
Git 不是用在備份,是用在版本控制。 正文就有寫了, 我需要檔案層級資料夾層級的版本回溯機制(diff 倒不是那麼重要), 目前是 Git 用得比較順手,版本記錄也是以開放格式儲存。 如果有其他方案能滿足這些需求,我同意 Git 並非不可放棄。 不過前面看到的方案,比如 AWS 等,似乎並沒有資料夾層級的版本回溯。 (如果不需要資料夾層級的回溯,付費 Dropbox 或 Google Drive 應該也可以解決XD)
Belieeve: 照上面大大說的找DVC好像滿多心得的 (英文 02/02 14:05
musie: mercurial LargefilesExtension 這麼舊了 不看一下.. 02/02 14:20
這個和 Git LFS 有什麼不同嗎?
will3509111: timemachine 02/02 15:28
alpe: Dropbox history version 02/02 15:39
abc0922001: github 不是有大檔案 binary 的解決方案嗎 02/02 17:20
GitHub 有限制單檔 100MB 及版本庫 5GB(根據目前文件), 我的版本庫已經數十 GB 了,塞不進去。 ※ 編輯: danny0838 (220.137.15.240 臺灣), 02/02/2022 17:39:17 ※ 編輯: danny0838 (220.137.15.240 臺灣), 02/02/2022 17:47:58
damody: 你的問題可能在硬體不是軟體 升級硬碟用三星7000MB/s ssd 02/02 17:54
damody: 組raid0 如果不在本機要再加上10gb網路線10gb路由器就可以 02/02 17:54
damody: 了 02/02 17:54
samchung: 免VM,本機建個目錄bind進docker跑Gitea解決 02/02 20:18
xluds24805: Dropbox 02/02 20:28
Dropbox 有資料夾層級的版本回溯功能嗎? (讓某資料夾及以下內容回溯到之前某個時間點的狀態)
longlyeagle: 自己管hash的意思是你定期抓checksum看更新做備份 02/02 20:33
longlyeagle: 這樣Git只要存hash跟備份位置就好 02/02 20:36
longlyeagle: 可以直接排進CICD裏面 02/02 20:37
這個看起來和 Git LFS 好像差不多?
timfan3939: 自己使用雲端專案架Gitlab伺服器,要多大有多大 02/02 20:58
tomap41017: 你是不是沒看懂GIT LFS的意義?拜託別嗆人 02/02 21:39
tomap41017: LFS是幫你把二進位檔案傳到別的地方去,GIT只存指標 02/02 21:40
tomap41017: 的概念。你依然是使用GIT版控 02/02 21:40
不太確定你的意思? 意思是把要版控的檔案塞進 LFS, 讓 Git 版本庫變小丟到 GitHub(但不傳 LFS 檔案), 而 LFS 檔案另外用一般檔案同步的方式處理?
htury: 看起來跟git無關,只是要符合需求的檔案管理跟備份,買雲端 02/02 21:41
htury: 空間存進去不就好了,有板控跟備份 02/02 21:41
htury: 在依據需求寫個歸檔系統 02/02 21:48
平常被 Git 強大的版控和還原功能寵壞了, 目前找不到哪家雲端硬碟能達到類似需求@@ ※ 編輯: danny0838 (220.137.15.240 臺灣), 02/02/2022 22:18:00
MonyemLi: 人少gitea就夠了,設定檔改一下檔案大小限制 02/02 22:08
MonyemLi: 剩下就硬體跟作業系統的限制了 02/02 22:09
guanting886: NAS + 自己手動在檔名數字編一編 or 自己設計歸檔軟 02/02 22:26
guanting886: 體比較快 02/02 22:26
guanting886: PDF應該很難讓你做DIFF,因為檔案不一定可以透過程 02/02 22:28
guanting886: 式抽出字,會因為被受保護 或 字被轉成純向量就無法 02/02 22:28
guanting886: 直接比對了 02/02 22:28
guanting886: Dropbox 不錯 只是版本付費到最頂 應該也只能看到半 02/02 22:30
guanting886: 年前的 02/02 22:30
guanting886: Git 的設計一開始就為 Linux Kernel 開發/維護而生 02/02 22:33
guanting886: 的,而這個東東經歷過了百萬以上的 commit 你去上面 02/02 22:33
guanting886: 拉下來大概 1G 多而已 02/02 22:33
guanting886: 應該不適合用在原PO的需求上,因為人家是在維護軟體 02/02 22:35
guanting886: 工程的啊XD. 02/02 22:35
timTan: 試試git Dropbox 混搭如何。最適合你的工作流程 02/02 22:38
qmailtw: 你有試過 OpenSSH 的 server 設定嗎? 02/03 00:01
acgotaku: 幾百G算滿小了拉,gcp/aws起個容器 定時鏡像就解決了 02/03 00:48
acgotaku: 也沒多少錢,絕對比你架nas還要安全 02/03 00:49
IcecreamHsu: GoodSync? 02/03 01:24
cha122977: 不會改內容的東西用普通的雲端硬碟就好了吧 02/03 01:47
wulouise: 生魚片刀切牛好不好用? 02/03 10:25
xxxxae86: 一般都指定檔案吧?有指定資料夾層級的? 02/03 11:08
joehwang: 往備份套件的方向找呢? 這類軟體可以滿足資料夾回復,使 02/03 11:18
joehwang: 用增量備份佔的空間也不大 e.g. Duplicati, Acronis 02/03 11:18
kyrc: gitea + dropbox 02/03 12:40
roccqqck: 問一下gitea有比gitlab好用嗎 02/03 17:21
Bencrie: 那是不同量級的東西 02/03 18:51
gmoz: 感覺 one drive就夠了 還剛好買office 365 02/03 19:10
Vitaceae: 哪那麼麻煩 資料夾歸檔用 script 批次指定 symlink 就 02/04 19:50
Vitaceae: 好,symlink 用 git 建立歷史資訊 02/04 19:50
pttuser2266: 繼續用 GitHub, 檔案先分類,每個分類開一個 sub mod 02/04 23:09
pttuser2266: ule , 如果未來單一 sub module 超過上限,可以考慮a 02/04 23:09
pttuser2266: rchive 一份進雲端,然後移除久遠的記錄 02/04 23:09
shter: 這種需求反而比較適合裝 CVS 或 SVN 來用 02/05 00:14
yoyo890121: 兩台Windows可以用shared folder 建立bare repo 02/05 02:50
yoyo890121: 設定好remote 路徑 push上去即可 02/05 02:50
MonyemLi: gitlib功能多很多,較耗資源。少人的gitea會較省資源。 02/05 09:30
cathychg: 喔喔喔喔喔喔~找廠商。 02/05 20:11
abola921: binary 不能diff 的,想跟 code 一樣的管理思維 02/06 01:50
abola921: 要看你打算付出多少成本才好給建議吧 02/06 01:52
abola921: 每一個版本,等同是一份拷貝,加上備份,這用git跑越久 02/06 01:54
abola921: 儲存成本越是巨大。真的有需要搞成這樣嗎? 02/06 01:57
Bencrie: 也不是不能 diff,看檔案性質 02/06 12:01
ssd860505da: rsync incremental backup 02/08 09:52
dogz: AWS S3 02/09 14:10
Killercat: 你這種就別git了,AWS S3開versioning照三餐丟檔案就好 02/11 04:55
jtrtsay: 對啊 pdf是在git什麼? 02/12 01:04
cathychg: sa sd 要先出來啊…ER 圖 PM要切需求啊 02/15 17:40
cathychg: 切完需求 才能模組做版控啊… 這? 02/15 17:41
cathychg: github 是一個大的repository...那做程式碼的庫存的 。 02/21 21:16
cathychg: 。。。。搞甚麼爛東西啊! 02/21 21:16