这对我来说根本不清楚:http: //git-scm.com/2010/04/11/environment.html
据我所知,我不能为个人回购做这件事。只是命令不够清楚...
据我所知,我可以这样做:
GIT_DIR="directory here"
但是,这似乎是 Git repos 的 Git 文件夹的全局目录。是这样吗?
我如何才能仅为这个 repo 设置 Git 目录?
谢谢你的帮助。如果它太愚蠢了,我很抱歉,但这对我来说真的很困惑。
这对我来说根本不清楚:http: //git-scm.com/2010/04/11/environment.html
据我所知,我不能为个人回购做这件事。只是命令不够清楚...
据我所知,我可以这样做:
GIT_DIR="directory here"
但是,这似乎是 Git repos 的 Git 文件夹的全局目录。是这样吗?
我如何才能仅为这个 repo 设置 Git 目录?
谢谢你的帮助。如果它太愚蠢了,我很抱歉,但这对我来说真的很困惑。
如果您使用环境变量,则必须在使用之前为每个存储库设置它。您可以通过设置正确环境变量的特殊批处理文件启动您的 shell / 程序来做到这一点。像这样,它不会影响其他进程,因为只会为当前进程及其子进程设置环境变量。
没有永久的方法可以将某个 GIT_DIR 值分配给磁盘上的某个文件夹,因为没有 .git 目录,就无法存储此信息。
您可以通过将.git
文件夹替换为.git
包含gitdir: <path>
. 该路径将指向另一个文件夹,该文件夹将充当您的存储库文件夹。
注意:<path>
包含存储库文件夹的名称,而不仅仅是.git
文件夹的路径。
您可以使用它来将所有存储库文件夹存储在具有唯一名称的单个位置。您仍然可以在文件所在位置执行 git 命令.git
。
GIT_DIR、GIT_WORK_TREE 等只是环境变量,如果设置,则由 git 使用。如果您在全局范围内设置它们,它们将在全局范围内应用,并且可能会搞砸一切。如果在您这样做时设置了它们git init
,它将使用适当的配置创建存储库,以便在未设置环境后继续工作。