使用 SVN,我在服务器上保存了一个大型存储库,并在几台机器上签出。这是一个非常好的备份系统,让我可以轻松地在任何机器上工作。我可以签出一个特定的项目,提交并更新“主”项目,或者我可以签出整个项目。
现在,我有一堆 git 存储库,用于各种项目,其中一些在 github 上。我也有我提到的 SVN 存储库,通过 git-svn 命令导入。
基本上,我喜欢将我所有的代码(不仅仅是项目,还有随机片段和脚本,一些东西,比如我的简历、我写的文章、我制作的网站等等)放在一个大存储库中,我可以轻松地克隆到远程机器,或记忆棒/硬盘驱动器作为备份。
问题是,因为它是一个私有存储库,并且 git 不允许签出特定文件夹(我可以将其作为单独的项目推送到 github,但更改会同时出现在主存储库和子存储库中)回购)
我可以使用 git 子模块系统,但它也没有按照我想要的方式运行(子模块是指向其他存储库的指针,并且并不真正包含实际代码,因此它对备份毫无用处)
目前我有一个 git-repos 文件夹(例如 ~/code_projects/proj1/.git/ ~/code_projects/proj2/.git/),在对 proj1 进行更改后git push github
,我将文件复制到 ~/ Documents/code/python/projects/proj1/ 并执行一次提交(而不是单个存储库中的众多提交)。然后做git push backupdrive1
等git push mymemorystick
那么,问题来了:您的个人代码和项目如何使用 git 存储库,并让它们保持同步和备份?