在自定义位置设置.git文件夹
以下是我当前的目录结构:在自定义位置设置.git文件夹,git,cvs,Git,Cvs,以下是我当前的目录结构: 密吉特 代码 吉特先生 莫尔科德 麦可德 代码文件夹由git监控,git的文件位于通常的code/.git中 我只处理这段代码的一部分,即mycode 我希望使用git来管理我的代码,但我不希望它的文件放在预期的code/morecode/mycode/.git中,而是放在代码文件夹之外,例如在mygit中 有什么办法吗?我的原始答案如下,但我重新思考了这个问题,我认为这不是您真正想要的-我在第一次阅读时没有注意到您只需要存储库的一个子目录。在任何情况下,使
- 密吉特
- 代码
- 吉特先生
- 莫尔科德
- 麦可德
有什么办法吗?我的原始答案如下,但我重新思考了这个问题,我认为这不是您真正想要的-我在第一次阅读时没有注意到您只需要存储库的一个子目录。在任何情况下,使用
--git dir
和friends都会很快让人困惑——例如,你需要记住,不管你从哪里执行git命令,仍然只有一个索引(临时区域)
相反,我认为您真正想要做的是使mygit
成为指向子目录的符号链接,然后在code
目录中执行所有git操作
您可能希望查看中的文档,特别是
--git dir
和--work tree
选项以及类似的git_dir
和git_work_tree
环境变量的部分。您可以使用这些设置任意目录为您的工作树和git目录
这里很容易忽略的一个问题是,如果您不将绝对路径传递给
--git dir
(或git_dir
),它将与工作树相关,而不是与当前目录相关。此外,您可以简单地将.git作为常规文件并在其中放置路径,而不是使用符号链接:
$ echo gitdir: /path/to/gitdir > .git
$echo gitdir:/path/to/gitdir>.git
伟大的似乎正是我想要的!谢谢@阿不思·邓布利多:谢谢——事实上我现在已经改变了我的答案,但我仍然不确定我是否正确理解了你的问题。我认为您希望
mygit
对应于morecode
,对吗?真的吗?听起来很有趣。谢谢