我的请求可能看起来很奇怪,但在我解释了我这样做的原因后它会更有意义。
所以我在 /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
似乎是另一种解决方案。
有人可以帮忙吗?
谢谢
最佳答案
好吧,久等了,让我回答我自己的问题。 正如 DCoder 指出的那样,答案在 Can I store the .git folder outside the files I want tracked?。 .
即,那里列出了许多基于 git 的解决方案,所有这些都需要一些额外的 混帐配置。如果在 Windows 下,您可能必须执行这些操作。然而,在 Linux 下,将 .git 目录符号链接(symbolic link)到其他地方是最简单和最干净的解决方案。
关于linux - 如何将 git 存储库分离/解耦到不同的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15323951/