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

你能改变.git文件夹的位置吗,git,Git,工作目录中的所有git repo都创建.git文件夹。您可以更改此文件夹位置。创建存储库时,您可以告诉git在其他地方创建.git目录: git init --separate-git-dir=/path/to/dot-git-directory . git init用于创建新的本地存储库,但您也可以在现有存储库中运行git init,以重新初始化其某些属性。.git目录的位置就是其中之一 报告说: 在现有存储库中运行git init是安全的。它不会覆盖已经存在的内容。重新运行git init

工作目录中的所有git repo都创建.git文件夹。您可以更改此文件夹位置。

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

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

报告说:

在现有存储库中运行
git init
是安全的。它不会覆盖已经存在的内容。重新运行git init的主要原因是为了获取新添加的模板(或者如果给定了
--单独的git dir
,则将存储库移动到另一个地方)

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

如果要将
.git
目录放回工作目录,只需删除
.git
文件并将
.git
目录放回即可
git init——单独的git dir
显然不能用于此目的


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

  • --git dir=/path/to/dot git directory
    参数传递给allgit命令
  • 将环境变量
    GIT\u DIR=/path/to/dot GIT directory
  • 第一个选项需要大量的输入,并且Git命令变得很长,很难阅读


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

    下面是我从给定的.git目录重新建立的窍门


    将.git目录移动到所需目录。如果您在新目录中输入“git status”,您将看到所有内容都处于删除状态。诀窍是“git隐藏”所有删除,同时,所有内容都将自动重新安装/移出.git目录。因此,新目录是一个全新的git工作存储库。

    不,有必要设置git存储库。与中一样,移动文件夹将更改git版本控制下的文件夹的范围。但是你可以把它移到一个新的地方,然后从那里重新控制它。太棒了!我可以破解git,使
    .git
    文件也位于另一个文件夹中吗?像一个更深的文件夹一样,将目录设置为更高的文件夹。当然,我可能需要在
    .git
    文件夹中运行命令。当我使用
    --separate git dir
    时,我找不到任何为替换.git文件夹而创建的.git文件,因此实际上,如果工作目录中没有.git,就可以了,不是吗?@lapin如果找不到它,这并不意味着它没有被创建。阅读文档: