繁体   English   中英

您可以将本地git repo保留在与工作目录不同的驱动器上吗?

[英]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以这种方式工作一段时间后,我开始意识到拆分工作目录可能会导致一些奇怪的错误。 恢复到标准设置(与工作目录位于同一目录中的存储库)后,我不再有任何错误。 如果有人好奇我如何设置它,我将在下面保留我的注释,但我不建议您这样做。

经过研究,我发现有两个来源可以帮助我提出解决方案,但是我遇到了身份验证问题,导致它们无法正常工作。 最终,我找到了无需控制台命令即可手动完成操作的方法。 基本上我是这样做的:

  1. 在工作目录中找到.git文件夹(整个仓库位于该文件夹中)
  2. 将.git文件夹剪切并粘贴到要存储的位置(例如存储驱动器)
  3. 在.git文件夹中,找到配置文件。 使用文本编辑器(如Notepad ++)将其打开。
  4. 在[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...]
  1. 返回您的工作目录(从中获取.git文件夹的确切目录),然后创建一个名为.git的新文件。 在Windows中,您需要将文件命名为.git。 (注意最后一个点)

  2. 打开您使用文本编辑器(如Notepad ++)创建的新.git文件。 由于它是一个新文件,因此在打开时应完全为空。

  3. 编写一个新行,该行是您在步骤2中移动的git目录的确切路径。示例:

    gitdir:D:\\ MySeparatedGitRepo \\ .git

并且,如果您按照上述步骤操作,则应该有一个单独的git repo,它可以像任何常规repo一样工作,而无需命令行工具。

需要注意的是,我个人一直在指点我的GUI工具,以从存储驱动器上的实际git repo中读取内容,但是我认为您也可以将它们指向工作目录。 如果我理解正确的话,他们基本上只是彼此来回指向。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM