Categories
Geek Inside

My .gitconfig file

I recently updated to Mountain Lion and had to install a few more things to get Git to work properly.

I also realized that Git GUI stopped working. A quick addition to my .gitconfig file did the trick, but I thought I’d take the opportunity to share my .gitconfig file with you; it could be useful to someone, and I will be able to come back to that post next time I change my computer :)

[user]
 name = Jeremy Herve
 email = my_email_address
 signingkey = my_signing_key
[github]
 user = jeherve
 token = my_token
[color]
 branch = true
 ui = true
 diff = true
 status = true
[alias]
 s = status
 ci = commit
 co = checkout
 cp = cherry-pick
 ls = branch -a
 oops = reset --soft HEAD~1
 rh = reset --hard
 save = stash save
 pop = stash pop --index
 restash = !git stash pop --index && git stash save
 rs = !git stash pop --index && git stash save
 files = diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT
 lola = log --oneline --decorate --graph -n 15 --all
 ll = log --stat --abbrev-commit
 one = log --pretty=tformat:"%H" -1
 pushf = ! [[ $(git symbolic-ref --short HEAD) != \"master\" ]] && git push --force-with-lease
[help]
 autocorrect = 1
[core]
 editor = nano
[push]
 default = simple
[commit]
 gpgsign = true

That’s it. If you have any recommendations or remarks, let me know! I am always looking for more tips!

1023 Budapest, Szépvölgyi Way 2, Hungary

6 replies on “My .gitconfig file”

I like ‘oops’, I will cherry-pick it. Here is mine: (credit goes to @tibor and @akos, don’t know anymore which line belongs to who):

lol = log --oneline --decorate --graph -n 15
lola = log --oneline --decorate --graph -n 15 --all
co = checkout
rh = reset --hard
save = stash save
pop = stash pop --index
restash = !git stash pop  --index && git stash save
rs = !git stash pop  --index && git stash save
s = status
files = diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT
fixup = !sh -c 'git commit -m "fixup! $(git log -1 --format='\''%s'\'' [email protected])"' -
squash = !sh -c 'git commit -m "squash! $(git log -1 --format='\''%s'\'' [email protected])"' -
ri = rebase --interactive --autosquash
f = fetch --all --tags --prune
hist = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
rev = log -1 --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'

That’s a nice follow up! I don’t really use git log (I use gitk for that kind of things), but your some of your aliases make git log a bit more interesting, thanks!

I like lola… :)

Some missing:

[branch]
autosetuprebase = always ## strongly recommended
[core]
logallrefupdates = true
[alias]
myinit = "!git init && git commit -m "Initial, empty commit" --allow-empty && git branch root"
[merge]
conflictstyle = diff3

I don’t really use Git GUI either, only when I have been lazy and neglected to commit changes for a while. It then becomes a bit too messy to handle via command line :)

I will give GitX a try then, it seems cool! Thanks!

Comments are closed.