![](/img/trans.png)
[英]Git -- cloning a previous commit in a different folder than local working directory
[英]Can you keep the local git repo on a different drive than the working directory?
我使用游戏(Unity 3D),其中包含庞大的二进制文件,这些文件使我的Git存储库膨胀(即使使用LFS)。 我需要将工作目录放在快速的M.2驱动器上,以便我的工作流水线畅通,但是我的M.2上的空间非常有限,因此我需要将巨大的.git本地存储目录保留在其他SSD驱动器上我用来存储的 是否可以将巨大的.git repo目录放在另一个驱动器上?
编辑:用Git以这种方式工作一段时间后,我开始意识到拆分工作目录可能会导致一些奇怪的错误。 恢复到标准设置(与工作目录位于同一目录中的存储库)后,我不再有任何错误。 如果有人好奇我如何设置它,我将在下面保留我的注释,但我不建议您这样做。
经过研究,我发现有两个来源可以帮助我提出解决方案,但是我遇到了身份验证问题,导致它们无法正常工作。 最终,我找到了无需控制台命令即可手动完成操作的方法。 基本上我是这样做的:
在[core]部分下,使用worktree定义工作目录。 例:
工作树= C:/ MyProjects / MyGitWorkingTree
整个[core]部分现在可能看起来像这样:
[core]
bare = false
repositoryformatversion = 0
filemode = false
symlinks = false
ignorecase = true
logallrefupdates = true
worktree = C:/MyProjects/MyGitWorkingTree
[remote "origin"]
[... the rest of the file is down here...]
返回您的工作目录(从中获取.git文件夹的确切目录),然后创建一个名为.git的新文件。 在Windows中,您需要将文件命名为.git。 (注意最后一个点)
打开您使用文本编辑器(如Notepad ++)创建的新.git文件。 由于它是一个新文件,因此在打开时应完全为空。
编写一个新行,该行是您在步骤2中移动的git目录的确切路径。示例:
gitdir:D:\\ MySeparatedGitRepo \\ .git
并且,如果您按照上述步骤操作,则应该有一个单独的git repo,它可以像任何常规repo一样工作,而无需命令行工具。
需要注意的是,我个人一直在指点我的GUI工具,以从存储驱动器上的实际git repo中读取内容,但是我认为您也可以将它们指向工作目录。 如果我理解正确的话,他们基本上只是彼此来回指向。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.