如何自定义.git文件夹的位置

在远程服务器上用git工作时,因其存放版本管理的全部重要信息,有时不希望.git目录出现在工作区里。如果能把.git目录放在自定义位置则在备份、传输工作目录方面都有方便,甚至误删了工作目录也能找回来。

方法

在已经初始化好的工作目录下,使用git init命令。

git init --separate-git-dir=.git文件路径 .

此时.git目录改为自定义文件路径,原.git目录变为一个存有新目录链接的同名文件。

安全性

根据文档,重新运行git init命令不会影响已有的版本记录。

Running git init in an existing repository is safe. It will not overwrite things that are already there. The primary reason for rerunning git init is to pick up newly added templates (or to move the repository to another place if --separate-git-dir is given).

如果需要将.git目录移动回工作目录,只要将此时的.git文件删除,将自定义的.git目录复制回来即可。

其他方法比较

另有两种方法可以达到类似效果但都非常麻烦。

  1. 所有git语句中都加入--git-dir=/path/to/dot-git-directory参数。
  • 此方法过分繁琐。同时让命令难读。
  1. 将环境变量加入GIT_DIR=/path/to/dot-git-directory
  • 每次初始化了新的git工作目录,需要记得将这里的自定义路径改一下。容易忘。同时在不同项目切换容易造成混乱。

你可能感兴趣的:(如何自定义.git文件夹的位置)