Git
Mes réglages
Git diff-so-fancy
Pour avoir des diffs plus sympa installer diff-so-fancy.
Ensuite lire la doc pour le régler ou copier les réglages plus bas dans la page (.gitconfig)
Git prompt
Pour avoir un prompt plus sympa avec des icônes qui indiques le statut de la copie de travail, utiliser bash-git-prompt.
Une fois fait, si vous voulez afficher la légende lié au symboles, tapez dans le shell :
git_prompt_help
Attention, il faut être dans un répertoire GIT
Git status
Pour lister le contenu d'un dossier untracked, modifier la variable de configuration suivante :
git config --global status.showUntrackedFiles all
L'équivalent sans cette configuration et la commande git status -u.
Modification remote
Pour lister les URL
$ git remote -v origin git://github.com/xxx/xxx.git (fetch) origin git://github.com/xxx/xxx.git (push)
Pour changer l'URL du remote
$ git remote set-url origin [new url]
Pour changer le nom du remote
$ git remote rename [old] [new]
Diverses commandes
Supprimer une branche sur le server distant
git push --delete repo branch
Avoir une information sur la création d'une branche
git reflog --date=local | grep [branch]
Conflit
Lors d'un merge, si l'on veut afficher l'ancêtre commun de la partie en conflit, utiliser la commande suivante et afficher le fichier
git checkout --conflict=diff3 [nom du fichier]
Merge
Lors d'un merge, si on veut ignorer les retours à la lignes, espaces et indentations des fichiers, utiliser la commande suivante :
git merge -Xignore-all-space [branch]
Faire le ménage dans les branches
Un alias pour supprimer en locale les branches mergées.
git_delete_branches_merged='git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d' // ou // git_delete_branches_merged='git branch --merged origin/integ | grep -v '\''integ$'\'' | xargs -r git branch -d'
.gitconfig
[user]
name =
email =
[color]
# Enable colors in color-supporting terminals
ui = true
[core]
# Don't paginate output by default
pager = test -x \"$(which diff-so-fancy)\" && diff-so-fancy | less --tabs=4 -RFX || less -RFX
editor = vim
[color "branch"]
# Blue on black is hard to read in git branch -vv: use cyan instead
upstream = cyan
[alias]
#lg = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)'
lolc = log --graph --pretty='%Cred%h%Creset %Cgreen(%cr) %C(bold blue)<%an>%Creset -%C(auto)%d%Creset %s%n%b'
diffc = diff --color-words=.
[status]
showUntrackedFiles = all
[color "diff-highlight"]
oldNormal = red bold
oldHighlight = red bold 52
newNormal = green bold
newHighlight = green bold 22
[color "diff"]
meta = yellow
frag = magenta bold
commit = yellow bold
old = red bold
new = green bold
whitespace = red reverse
[diff-so-fancy]
changeHunkIndicators = true
markEmptyLines = true
[merge]
conflictstyle = diff3
[rerere]
enabled = true
autoupdate = true
