I ett tidigare inlägg om Distribuerad versionshantering med Git nämnde Robert hur man kan lägga in lite smarta saker i ~/.bashrc
om man använder bash-shell. Då kan man på ett tydligt sätt se vilken branch man använder och om det finns filer som inte är add:ade till git-repositoriet.
~/.bashrc
function parse_git_dirty {
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*"
}
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/"
}
export PS1='${debian_chroot:+($debian_chroot)}\[33[01;32m\]\u@\h\[33[00m\]:\[33[01;34m\]\w\[33[00m\]$(parse_git_branch)\$ '
Då ser prompten ut nåt sånt här:
johnny@puma-ubuntu:~/dev/projects/cygni/demo-stuff[master*]$
Som ni ser så syns det tydligt att master
-branchen används och *
indikerar att det finns filer som inte är inlagda i Git-repot.
Git-konfiguration
Utöver detta kan man skapa filen ~/.gitconfig
för att underlätta det vardagliga arbetet med Git. Dels kan man skapa olika alias – exemplet nedan visar hur git st
kan användas istället för git status
. Du kan även ange namn/e-post som gör att dina pushar/commits ser lite snyggare ut. Color-sektionen underlättar oerhört mycket om du använder ett shell och Git tillsammans. Då får du helt enkelt color-coding i prompten vilket gör att Git-outputen blir enklare att läsa!
~/.gitconfig
[user]
email = johnny.puma@acme.se
name = Johnny Puma
[alias]
st = status
ci = commit
br = branch
co = checkout
df = diff
lg = log -p
[color]
ui = auto