我想用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