Ceci est une ancienne révision du document !


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