你能改变.git文件夹的位置吗?

XPe*_*cto 9 git

所有git repos在工作目录中创建.git文件夹都可以更改此文件夹位置.

axi*_*iac 13

.git在创建存储库时,您可以告诉Git在其他位置创建目录:

git init --separate-git-dir=/path/to/dot-git-directory .
Run Code Online (Sandbox Code Playgroud)

git init用于创建新的本地存储库,但您也可以git init在现有存储库中运行以重新初始化其某些属性..git目录的位置就是其中之一.

文件说:

git init在现有存储库中运行是安全的.它不会覆盖已存在的东西.重新运行git init的主要原因是获取新添加的模板(或者如果--separate-git-dir给出则将存储库移动到另一个位置).

Git .git使用作为--separate-git-dir选项的参数提供的名称重命名目录.在工作目录中,它放置一个名为.git而不是.git目录的文件.该.git文件包含实际.git目录的位置.

如果要将.git目录放回工作目录中,您只需删除.git文件并放置.git目录即可.git init --separate-git-dir显然不能用于此.


如果您根本不想在工作目录中拥有.git目录或.git文件,那么有两种解决方案,但两者都不方便:

  1. --git-dir=/path/to/dot-git-directory参数传递给所有 Git命令;
  2. 设置环境变量GIT_DIR=/path/to/dot-git-directory.

第一个选项需要大量输入,并且您的Git命令变得冗长且难以阅读.

第二个选项使得难以使用多个存储库.每次要在不同的存储库中工作时,都必须记住$GIT_DIR使用正确的路径设置环境变量; 否则你会搞砸了.