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
6 november, 2009 at 10:25
Att skapa en .gitconfig-fil är ett snabbt och enkelt sätt, men det officiella sättet att ändra inställningar är annars via ”git config”. Kör t.ex.
git config –global user.name ‘John Doe’
git config –global user.email johndoe@example.com
…för att sätta användarinformationen.
6 november, 2009 at 13:14
Jag har nyligen börjat köra git så detta tips samt det lååååånga inlägget
av Robert om git uppskattade jag verkligen.
Formatteringen av .bashrc ovan är lite olycklig då man inte direkt ser slutet
av raderna så jag skrev egna versioner av funktionerna
function parse_git_dirty {
git status 2>/dev/null | grep -q ”nothing to commit” || echo \*
}
function parse_git_branch {
git branch –no-color 2> /dev/null |\
sed -n ”/^* /s:^..\(.*\) [\1$(parse_git_dirty)]:p”
}
”-n” och ”/p” till sed gör att man slipper radera rader man inte är intresserad av.
Nä, nu ska jag sätta upp centralt gitrepo på min hemmaserver ocskå
6 november, 2009 at 22:03
[...] Shared Git-tricks. [...]
31 mars, 2010 at 21:10
[...] våra tidigare inlägg om Git-tricks eller en mer utförlig artikel om Distribuerad versionshantering med [...]