GIT_DIR如何工作?究竟

时间:2013-04-02 16:25:14

标签: git github

这对我来说根本不清楚:http://git-scm.com/2010/04/11/environment.html

从我的身材来看,我不能为个人回购做这件事。这些命令还不够清楚......

据我所知,我可以这样做:

GIT_DIR="directory here"

然而,这似乎是Git repos'Git文件夹的全局目录。是这样的吗?

我如何才能仅为此回购设置Git目录?

感谢您的帮助。如果它太愚蠢了,我很抱歉,但这对我来说真的很困惑。

2 个答案:

答案 0 :(得分:1)

如果您正在使用环境变量,则必须在使用之前为每个存储库设置它。您可以通过设置正确环境变量的特殊批处理文件启动shell /程序来完成此操作。像这样,它不会影响其他进程,因为环境变量只会为当前进程及其子进程设置。

没有永久的方法可以将某个GIT_DIR值分配给磁盘上的某个文件夹,因为没有.git目录,就无法存储此信息。

答案 1 :(得分:1)

您可以通过将 .git 文件夹替换为包含 .gitgitdir: <path> 文件来重新定位任何存储库的存储库文件夹。该路径将指向另一个文件夹,该文件夹将作为您的存储库文件夹。

注意:<path> 包含存储库文件夹的名称,而不仅仅是 .git 文件夹的路径。

您可以使用它来将所有存储库文件夹存储在具有唯一名称的单个位置。您将在 .git 文件的位置执行 git 命令。

GIT_DIR、GIT_WORK_TREE 等只是环境变量,如果设置,则由 git 使用。如果您全局设置它们,它们将全局应用,并且可能会搞砸一切。如果在您执行 git init 时设置了它们,它将使用适当的配置创建存储库,以便在取消设置 env 后继续工作。