这是我目前的目录结构:
- mygit
- 代码
- 的.git
- morecode
- mycode的
我想使用git来管理我的代码,但我不希望将其文件放在预期的代码/ morecode / mycode / .git 中,而是放在代码文件夹,例如在 mygit 。
任何想法如何做到这一点?
答案 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
)的绝对路径,它将相对于工作树,不是你当前的目录。