Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Get global gitconfig path
Is there a command I can run to get the path of global gitconfig
for a user? Like git config --global --edit
, but I want the path, not an editor window.
I want the right path whether or not this file already exists. i.e. I want the path that Git will use, even if this is a brand new system. This may pose problems for git config --list --show-origin --show-scope
.
I can't figure out how to disable the hint in the command below, but that would work great.
git -c 'core.editor=echo' config --global --edit
2 answers
With help from hkotsubo in the comments, it seems you can follow the behavior described by Git's documentation. This will work until they change it, at least for your *Nixes and *BSDs:
path="${XDG_CONFIG_HOME:-$HOME/.config}/git/config"
[[ -f "$path" ]] && echo "$path" || echo "$HOME/.gitconfig"
This works for me in both bash
and zsh
on Debian 12. I can't guarantee it will work the same on every platform and shell.
EDITOR=echo git config --global --edit 2>/dev/null
This is similar to your original attempt, but it overrides the editor using the EDITOR environment variable rather than with git config
itself, and the final redirection gets rid of "hint: Waiting for your editor to close the file..." because this hint is (conveniently) written to stderr whereas the actual output goes to stdout.
2 comment threads