我的電腦需要做開發資料夾的資料備份以及版本控制
我的開發目錄有 30G的程度 10萬以上的檔案 而且會持續增加
目前我已經有同時使用了幾種不同的檔案備份做多重備份 但是整體來說每個方案都有讓我不滿意的地方
而 git 等等的主流版控軟體 我完全不考慮
事實上 git這個產品在軟體工程中 本身就是個極度荒謬的設計
就算是GIT本身有再多的安全管控機制
但這也是在一個開發專案中 當PM這個職缺已經完全"失能"根本沒在管理專案時 才會不得不使用git這種"無主"服務來補救整個專案開發
任何一個"稍微"正常的團隊 只要PM還有在管理專案時 都不應該允許有像git這種可以無預警自己擅自上傳資料的概念 而是要全部彙整給PM 由PM統一管理才對
那是open source這種完全無管理的志工形式 才會有git的需求
目前來說 單以功能部分來說 Windows內建的檔案歷程是我最滿意的
因為結構很單純 就算是發生OS毀損重灌 也可以直接單開資料夾把個別檔案取出 以日期編碼的檔名也很直觀
而備份效能也夠好 沒感覺過什麼性能卡頓 但就是那個無法預期的當機問題 令我非常困擾
我還是無法理解 為什麼好端端的備份系統 某天用一用就突然就會直接崩潰
備份機制不穩定 某方面來說也是讓人很煩躁的問題....
請問有沒有什麼簡單輕量的檔案備份方案? 不會對本機產生太大的效能負擔 若有提供版控則更好
面臨的主要問題是:
首先,我想稍微澄清一下關於Git的觀點。雖然這位使用者認為Git不適合有專案管理的團隊,但實際上Git作為版本控制工具,並不必然意味著「無主」或「無管理」。在一個有良好專案管理的團隊中,Git可以透過分支策略(如Git Flow)、權限設置(例如在GitLab或GitHub上限制推送權限)以及Pull Request/Merge Request機制,確保所有變更都經過審核與統一管理。PM可以扮演最終審核者的角色,而開發者無法擅自上傳未經批准的內容。
針對使用者的需求(簡單、輕量、效能負擔低、具備版本控制),我推薦使用 Restic,這是一個開源的備份工具,特別適合開發者使用,且能在Windows、Linux和macOS上運行。
為什麼選擇Restic?
如何開始使用Restic?
restic init --repo /path/to/backup
restic backup /path/to/dev_folder --repo /path/to/backup
cron
來定期執行備份指令。restic snapshots --repo /path/to/backup
restic restore <snapshot_id> --target /path/to/restore --repo /path/to/backup
注意事項:
restic check
指令。如果您不希望使用命令列工具,可以考慮 FreeFileSync,這是一個開源的檔案同步工具,支援Windows、Linux和macOS。
優點:
設定建議:
對於30GB、10萬檔案以上的目錄,建議:
我也推薦 restic 。
題外話,Marco_Yang 可否挺身而出,教導文案/文章寫作,看你回文很是舒服。
再補充一下
這是我自己私人筆電需要的備份 辦公室內是有辦公室自己的GIT
辦公室內有NAS主機 目前用來備份伺服器
但原則上我是希望能做到不依賴網路的離線備份
目前我是用常駐型的迷你隨身碟來做複本
另外 30G/10萬這不是單一個專案 而是我個人10多年來的開發履歷 而且 半數都還在運作中
並且 這數量已經是"壓縮"過的版本 不再使用的冷檔案 幾乎都已經RAR 若是未經刪減的話至少是 80G/50萬以上
Restic和FreeFileSync 這兩個我會試試看
不利用網路的備份。就只能使用外部設備備份了,你還好有說到隨身碟。那就只能用同步型的備份。
因為待命監看式的備份一定不適合外接設備上。
當然,有些軟體會去監測您的外接設備再進行備份。
但這樣的備份大多數耗時很久。
而一般來說,如果是開發式的文件程式。主流還是GIT。
能當備份又有歷程還能版控
我個人目前開發的東西已超過你的容量及數量。
使用的就是 GIT 控管。放到 AWS 的雲GIT庫上(AWS現在已經不在提供了,只留下老客戶還能使用),現在完全無壓力。我也不擔心程式消失。
而公司的開發機也有GIT庫。
也就是我同時存在兩個地方,一個雲端上,一個在地端。
但一般正常開發操作GIT。完全無感。管理起來超級方便。
跟工程師合作還能 code review 。
不合格的程式碼,還能直接退件處理。
為何會覺得GIT難用???是不會用還是難用啊。
如果您的需求只是個人或小團隊的版控+備份,對Git的功能也不熟,的確是可能會覺得不好用!
我建議您可以評估一下SVN,這是我的團隊以前在用的版控工具,真的簡單好用。
看了你的文 我還是沒看懂你要的重點是甚麼?
第一 何謂高效能?
第二 如何得知開發最後版本和發行版本?
第三 發行流程如何管控?
綜上問題,我覺得你更應該思考的事公司的開發管理和發行管理以及是否有專人控管?
建議你可以參考SDLC V-Model 並加入cybersecurity 變成SSDLC.
抱歉,我只想噴
「任何一個"稍微"正常的團隊 只要PM還有在管理專案時 都不應該允許有像git這種可以無預警自己擅自上傳資料的概念 而是要全部彙整給PM 由PM統一管理才對」
「無預警自己擅自上傳資料的概念」??
你真的知道什麼是GIT嘛??你知道PR機制嘛?你知道GIT FLOW嘛?
你知道工程師上傳的程式碼,GIT可以做到拒絕更新嘛?
更好的管理機制還能控制主分支是不能隨意上傳的。
以上我相信你一定不知道。
但我至少是看到了你GIT使用上的問題了,因為下面這句話。
「那是open source這種完全無管理的志工形式 才會有git的需求」
GIT是需要管理的,也要會管理。管理起來也不是很困難。
但至少不可能無腦管理。
我相信你都不知道。要不然不會說出這樣荒唐的話出來。
這只代表你們的團隊,完全不正常。連「"稍微"正常」的程度都沒有。
我推測你是一條龍GIT。
最後,其實我沒辦法給你任何你的問題的建議。
因為你並沒真正的使用工具。或是想學如何使用工具。
或是你只想無腦使用工具。
任何一種工具,要學會如何使用。
如備份工具,也有所謂的差異備份。就是只會將更新的資料備份。
也能做到完整備份。
如想要求速度,也能做到鏡像備份的處理。
有非常多種選擇。每一種都能達到您想要的需求。
但你要學會如何去用。
正常來說,非程式使用30G容量,1萬多個檔案。我也不建議您使用GIT。
其它工具有其它網友說明了,我就不在重覆。