git --git-dir="/home/domain/" status
## Error
fatal: Not a git repository: '/home/domain/'
With Git 2.26 (Q1 2020), the documentation is clearer.
One effect of specifying where the GIT_DIR
is (either with the environment variable, or with the "git --git-dir=<where> cmd
" option) is to disable the repository discovery.
This has been placed a bit more stress in the documentation, as new users often get confused.
See commit d82ad54 (30 Jan 2020) by Heba Waly (HebaWaly
).
(Merged by Junio C Hamano -- gitster
-- in commit 17e4a1b, 12 Feb 2020)
git
: update documentation for --git-dir
Signed-off-by: Heba Waly
Helped-by: Junio C Hamano
git --git-dir <path>
is a bit confusing and sometimes doesn't work as the user would expect it to.
For example, if the user runs git --git-dir=<path> status
, git will skip the repository discovery algorithm and will assign the work tree to the user's current work directory unless otherwise specified.
When this assignment is wrong, the output will not match the user's expectations.
This patch updates the documentation to make it clearer.
So the documentation for git --git-dir
now includes:
--git-dir=<path>:
Set the path to the repository (".git
" directory).
This can also be controlled by setting the GIT_DIR
environment variable.
It can be an absolute path or relative path to current working directory.
Specifying the location of the ".git
" directory using this option (or GIT_DIR
environment variable) turns off the repository discovery that tries to find a directory with ".git
" subdirectory (which is how the repository and the top-level of the working tree are discovered), and tells Git that you are at the top level of the working tree.
If you are not at the top-level directory of the working tree, you should tell Git where the top-level of the working tree is, with the --work-tree=<path>
option (or GIT_WORK_TREE
environment variable)
--git-dir
and--work-tree
for a simple command: see my answer below – Aeonian