在自定义位置设置.git文件夹

时间:2011-03-17 09:15:21

标签: git cvs

这是我目前的目录结构:

  
      
  • mygit
  •   
  • 代码   
        
    • 的.git
    •   
    • morecode   
          
      • mycode的
      •   
    •   
  •   
  1. 代码文件夹由git监控,git的文件在通常的代码/ .git
  2. 我只使用这段代码,即 mycode
  3. 我想使用git来管理我的代码,但我不希望将其文件放在预期的代码/ morecode / mycode / .git 中,而是放在代码文件夹,例如在 mygit

    任何想法如何做到这一点?

2 个答案:

答案 0 :(得分:6)

此外,您可以简单地将.git作为常规文件并在其中添加路径,而不是使用符号链接:

$ echo gitdir: /path/to/gitdir > .git

答案 1 :(得分:4)

我的原始答案如下,但我已经重新考虑了这一点,我认为这不是你想要的 - 我在第一次阅读时没有注意到你只想要存储库的子目录。在任何情况下,使用--git-dir和朋友快速混淆快速 - 你需要记住,例如,无论你在哪里做git命令,仍然只有一个索引(临时区域)从

相反,我认为你真正想做的是让mygit成为指向子目录的符号链接,然后在code目录中执行所有git操作。


您可能需要查看git man page中的文档,特别是--git-dir--work-tree选项以及类似GIT_DIR和{{1}的相关部分} 环境变量。您可以使用它们将任意目录设置为您的工作树和git目录。

这里容易错过的一个问题是,如果你没有通过GIT_WORK_TREE(或--git-dir)的绝对路径,它将相对于工作树,不是你当前的目录。