我使用游戏(Unity 3D),其中包含大量二进制文件,这些文件会使我的Git存储库膨胀(即使使用LFS)。我需要我的工作目录在我的快速M.2驱动器上,所以我的工作流程很顺利,但是我的M.2上的空间非常有限,所以我需要将巨大的.git本地repo目录保存在不同的SSD驱动器上我用来存储。是否可以将巨大的.git repo目录放在另一个驱动器上?
答案 0 :(得分:0)
编辑:用Git这种方式工作了一段时间后,我开始意识到拆分工作目录可能会导致一些奇怪的错误。一旦我恢复到标准设置(与工作目录在同一目录中的repo),我就不再有任何错误了。我会在下面留下我的注意,以防有人好奇我是如何设置的,但我不建议这样做。
经过一些研究,我找到了两个帮助我提出解决方案的来源,但我遇到了无法正常工作的身份验证问题。最终我想出了如何在不需要控制台命令的情况下手动完成。基本上我做到了这一点:
在[core]部分下,使用worktree定义工作目录。示例:
worktree = C:/ MyProjects / MyGitWorkingTree
整个[核心]部分现在可能看起来像这样:
[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中读取,但我认为你也可以将它们指向工作目录。如果我理解正确的话,他们基本上只是互相指出。