由于种种原因,我想创建一个自定义的目录名称,而不是.git
本地存储库,我用全局选项--git-dir
和--work-tree
(见https://git-scm.com/docs/git)也配置与ENV瓦尔:具体的git-dir目录不应该被列为“未跟踪”
export GIT_DIR=".customgitdir"
export GIT_WORK_TREE="."
然后,我创建的回购协议:
$ git init
Initialized empty Git repository in XXXXXXXXX/.customgitdir/
然后我跑git status
:
$ git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
.customgitdir/
nothing added to commit but untracked files present (use "git add" to track)
您可以看到本地回购目录列为“未跟踪文件”,这在以后使用git add .
时会出现问题。
使用默认目录.git
时,它在逻辑上不会出现在git status
命令的输出中。为什么它与自定义目录名称不一样?
无论'$ GIT_DIR'如何,跳过'.git'都被硬编码到源代码中。没有内置代码来跳过'$ GIT_DIR',只是'.git'。 – torek