git_config {gert} | R Documentation |
Get or set Git configuration
Description
Get or set Git options, as git config
does on the command line. Global
settings affect all of a user's Git operations (git config --global
),
whereas local settings are scoped to a specific repository (git config --local
). When both exist, local options always win. Four functions address
the four possible combinations of getting vs setting and global vs. local.
local | global | |
get | git_config() | git_config_global() |
set | git_config_set() | git_config_global_set() |
Usage
git_config(repo = ".")
git_config_global()
git_config_set(name, value, repo = ".")
git_config_global_set(name, value)
Arguments
repo |
The path to the git repository. If the directory is not a
repository, parent directories are considered (see git_find). To disable
this search, provide the filepath protected with |
name |
Name of the option to set |
value |
Value to set. Must be a string, logical, number or |
Value
-
git_config()
: adata.frame
of the Git options "in force" in the context ofrepo
, one row per option. Thelevel
column reveals whether the option is determined from global or local config. -
git_config_global()
: adata.frame
, as forgit_config()
, except only for global Git options. -
git_config_set()
,git_config_global_set()
: The previous value ofname
in local or global config, respectively. If this option was previously unset, returnsNULL
. Returns invisibly.
Note
All entries in the name
column are automatically normalised to
lowercase (see
https://libgit2.org/libgit2/#HEAD/type/git_config_entry for details).
See Also
Other git:
git_archive
,
git_branch()
,
git_commit()
,
git_diff()
,
git_fetch()
,
git_ignore
,
git_merge()
,
git_rebase()
,
git_remote
,
git_repo
,
git_reset()
,
git_signature()
,
git_stash
,
git_tag
Examples
# Set and inspect a local, custom Git option
r <- file.path(tempdir(), "gert-demo")
git_init(r)
previous <- git_config_set("aaa.bbb", "ccc", repo = r)
previous
cfg <- git_config(repo = r)
subset(cfg, level == "local")
cfg$value[cfg$name == "aaa.bbb"]
previous <- git_config_set("aaa.bbb", NULL, repo = r)
previous
cfg <- git_config(repo = r)
subset(cfg, level == "local")
cfg$value[cfg$name == "aaa.bbb"]
unlink(r, recursive = TRUE)
## Not run:
# Set global Git options
git_config_global_set("user.name", "Your Name")
git_config_global_set("user.email", "your@email.com")
git_config_global()
## End(Not run)