我想用git在版本控制下保存一些文件在不同的目錄下。有些位於我的主目錄中,有些位於/etc
,我顯然不想讓root成爲git存儲庫。如何在不更換原件的情況下版本控制展開文件?
這可以通過將所有文件放在一個文件夾中並將鏈接放在其預期的位置來實現,例如, /etc/resolv.conf -> /home/tim/my-repo/etc-resolv.conf
,但它不應該有必要改變我的系統,以適應版本控制軟件。
如何通過版本控制文件而無需用鏈接替換原件?
我想用git在版本控制下保存一些文件在不同的目錄下。有些位於我的主目錄中,有些位於/etc
,我顯然不想讓root成爲git存儲庫。如何在不更換原件的情況下版本控制展開文件?
這可以通過將所有文件放在一個文件夾中並將鏈接放在其預期的位置來實現,例如, /etc/resolv.conf -> /home/tim/my-repo/etc-resolv.conf
,但它不應該有必要改變我的系統,以適應版本控制軟件。
如何通過版本控制文件而無需用鏈接替換原件?
我不認爲有一個可行的替代鏈接。
使每個目錄git回購,然後通過不同的分支名稱推送到一個共同的回購協議。
希望這有助於。
Git最適合在一些公共項目目錄中進行源代碼管理,而不是在不同目錄中的單個文件。
可能用某種編碼來模仿某些東西,例如,一個提交鉤子讀取它隨後提交的文件列表,但讓git'通知'更改爲那些遠程文件將是棘手;-)
這聽起來像你真正需要的是一個很好的備份解決方案。 Git不擅長的事情之一就是所有者,組,權限,SELinux安全上下文等文件屬性。當你開始使用Git管理系統文件時,事情會變得非常糟糕。
我會保持簡單和使用普通的備份實用程序像rsync
,cpio
,tar
和cron
用合適的備份策略。
git的整個想法是基於假設你有一個你想在版本控制下的目錄。
一個可能的解決方案是將整個文件系統放在git下,但使用.gitignore
排除任何東西,但有一些例外。
如果是這樣的話,我看不出它的原因。理論上這很可能。 – Tim