Get or set Git configuration
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() |
git_config(repo = ".") git_config_global() git_config_set(name, value, repo = ".") git_config_global_set(name, value)
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 |
git_config()
: a data.frame
of the Git options "in force" in the context
of repo
, one row per option. The level
column reveals whether the
option is determined from global or local config.
git_config_global()
: a data.frame
, as for git_config()
, except only
for global Git options.
git_config_set()
, git_config_global_set()
: The previous value of
name
in local or global config, respectively. If this option was
previously unset, returns NULL
. Returns invisibly.
All entries in the name
column are automatically normalised to
lowercase (see
https://libgit2.org/libgit2/#HEAD/type/git_config_entry for details).
Other git:
git_archive
,
git_branch()
,
git_commit()
,
git_diff()
,
git_fetch()
,
git_merge()
,
git_rebase()
,
git_remote
,
git_repo
,
git_signature()
,
git_stash
,
git_tag
# 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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.