【发布时间】:2013-03-10 15:33:43
【问题描述】:
我的请求可能看起来很奇怪,但在我解释我为什么这样做之后会更有意义。
所以我在/path/to/myprojects 下有我的个人项目。下面可能是 C、Perl、Shell、Tcl 等。现在我想将这些项目组(C、Perl 等)放在 git 下,但在不同的位置,例如 /path/to/mygits/。
我想这样做的原因是,传统上我先通过 rar 将我的 /path/to/myprojects 备份到其他位置。由于它们都是基于文本的,因此将它们 rar 起来将产生出色的压缩比。现在我想保持同样的做法,即使我已经引入了 git。因此,我需要将二进制 git 存储库远离我的文本基础文件夹,放到一个单独的二进制基础文件夹中。
我在 stackoverflow 上的所有发现都表明不可能,或者我“必须使用可能非常痛苦的子模块”: Git: Different Working Directory and Repository location, git repository with folders in different locations, Add Separate Directories/Projects/Files to Git Repository
但是,有一个答案说可以将 git 工作目录和 git 存储库目录解耦:
how do I change the location of a Git repository
但它说了一些关于git reset --hard 的信息,我想知道细节。
另外使用GIT_DIR 似乎是另一种解决方案。
有人可以帮忙吗?
谢谢
【问题讨论】:
-
stackoverflow.com/questions/505467/… 可能会有所帮助。
-
@DCoder,谢谢!这正是我正在寻找的。请回答不是,以便我投票。谢谢!
-
一件事:随着时间的推移,git 的压缩会大大增加,有点令人不安,几乎神奇地比
rar的要好,将你的 rar 备份的总大小加起来,然后与你的大小进行比较在你告诉它你关心 (git repack -Ad; du -sh .git) 之后,它包含所有相同的数据。在 github 上托管克隆或将存档放在 Dropbox 或 google 文档或任何地方,其中任何一个都比您现在执行的备份更安全、更方便。 -
谢谢@jthill。我的个人项目只是一个例子。还有更多我不太关心他们的历史的文本文件。正如你所建议的,我只是将 git 用作异地备份的一种手段。
标签: linux git repository backup