Git can be configured by creating a
.gitconfig file in your home directory. This is also where changes made with
git config --global are saved.
Using this file you can make global changes that will be applied to each repo on your machine (unless overwritten in that repo).
# Pretty log format [log] date = relative [format] pretty = shortlog [pretty] shortlog = format:%C(auto,yellow)%h%C(auto,magenta)% G? %C(auto,blue)%>(12,trunc)%ad %C(auto,green)%<(20,trunc)%aN%C(auto,reset)%s%C(auto,red)% gD # Default git push behaviour [push] default = current
default = current gives the following behaviour (git-config):
Push the current branch to update a branch with the same name on the receiving end. Works in both central and non-central workflows.
Per Repo Config¶
Each repo has a file in it at
.git/config and this controls configuration for the repo you have checked out
Generall this is updated using git commands such as
git branch and
git remote however you can also edit it manually
Pushing Commits and Tags in One Go¶
If you are using a tagging workflow, it can be a pain to have to continously remember to push commits and tags separately.
You can configure things so that git push will always push all commits and tags
.git/config file and find the
[remote "origin"] bit and then make it look like this:
[remote "origin"] url = ... fetch = +refs/heads/*:refs/remotes/origin/* push = +refs/heads/* push = +refs/tags/*