summaryrefslogtreecommitdiff
path: root/Documentation/config/safe.txt
blob: 6d764fe0ccf3a87dbfeb34da03b7e1dcb380ac99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
safe.directory::
	These config entries specify Git-tracked directories that are
	considered safe even if they are owned by someone other than the
	current user. By default, Git will refuse to even parse a Git
	config of a repository owned by someone else, let alone run its
	hooks, and this config setting allows users to specify exceptions,
	e.g. for intentionally shared repositories (see the `--shared`
	option in linkgit:git-init[1]).
+
This is a multi-valued setting, i.e. you can add more than one directory
via `git config --add`. To reset the list of safe directories (e.g. to
override any such directories specified in the system config), add a
`safe.directory` entry with an empty value.
+
This config setting is only respected when specified in a system or global
config, not when it is specified in a repository config or via the command
line option `-c safe.directory=<path>`.
+
The value of this setting is interpolated, i.e. `~/<path>` expands to a
path relative to the home directory and `%(prefix)/<path>` expands to a
path relative to Git's (runtime) prefix.
+
To completely opt-out of this security check, set `safe.directory` to the
string `*`. This will allow all repositories to be treated as if their
directory was listed in the `safe.directory` list. If `safe.directory=*`
is set in system config and you want to re-enable this protection, then
initialize your list with an empty value before listing the repositories
that you deem safe.