你能将本地git repo保存在与工作目录不同的驱动器上吗?

时间:2018-06-11 15:45:15

标签: git unity3d github

我使用游戏(Unity 3D),其中包含大量二进制文件,这些文件会使我的Git存储库膨胀(即使使用LFS)。我需要我的工作目录在我的快速M.2驱动器上,所以我的工作流程很顺利,但是我的M.2上的空间非常有限,所以我需要将巨大的.git本地repo目录保存在不同的SSD驱动器上我用来存储。是否可以将巨大的.git repo目录放在另一个驱动器上?

1 个答案:

答案 0 :(得分:0)

编辑:用Git这种方式工作了一段时间后,我开始意识到拆分工作目录可能会导致一些奇怪的错误。一旦我恢复到标准设置(与工作目录在同一目录中的repo),我就不再有任何错误了。我会在下面留下我的注意,以防有人好奇我是如何设置的,但我不建议这样做。

经过一些研究,我找到了两个帮助我提出解决方案的来源,但我遇到了无法正常工作的身份验证问题。最终我想出了如何在不需要控制台命令的情况下手动完成。基本上我做到了这一点:

  1. 找到工作目录中的.git文件夹(整个仓库位于此单个文件夹中)
  2. 将.git文件夹剪切并粘贴到您希望存储的位置(如存储驱动器)
  3. 在.git文件夹中,找到配置文件。使用Notepad ++等文本编辑器打开它。
  4. 在[core]部分下,使用worktree定义工作目录。示例:

    worktree = C:/ MyProjects / MyGitWorkingTree

  5. 整个[核心]部分现在可能看起来像这样:

    [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

    4. 如果你按照上面的步骤操作,你应该有一个独立的git repo,就像任何普通的repo一样,不需要命令行工具。

      作为一个注释,我个人一直指着我的GUI工具从存储驱动器上的实际git repo中读取,但我认为你也可以将它们指向工作目录。如果我理解正确的话,他们基本上只是互相指出。