在远程服务器上用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参数。
此方法过分繁琐。同时让命令难读。
2.将环境变量加入GIT_DIR=/path/to/dot-git-directory。
每次初始化了新的git工作目录,需要记得将这里的自定义路径改一下。容易忘。同时在不同项目切换容易造成混乱。
动力节点在线课程涵盖零基础入门,高级进阶,在职提升三大主力内容,覆盖Java从入门到就业提升的全体系学习内容。全部Java视频教程免费观看,相关学习资料免费下载!对于火爆技术,每周一定时更新!如果想了解更多相关技术,可以到动力节点在线免费观看Git入门视频教程哦!