Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
git [2014/08/13 12:15] Yoh |
git [2019/11/20 16:12] (Version actuelle) Yoh |
||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ==== Mes réglages ==== | ==== Mes réglages ==== | ||
| - | === Git log === | + | === Git diff-so-fancy === |
| - | Pour avoir un log plus détaillé que la simple commande ''git log'', créez un alias dans le fichier //~/.gitconfig// pour avoir un rendu avec un graphique. [[https://stackoverflow.com/questions/1057564/pretty-git-branch-graphs|source]] | + | |
| - | <code> | + | Pour avoir des diffs plus sympa installer [[https://github.com/so-fancy/diff-so-fancy|diff-so-fancy]]. |
| - | [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)' --all | + | |
| - | </code> | + | |
| - | Ensuite pour l'afficher, il suffit d'entrer la commande ''git lg'' | + | Ensuite lire la doc pour le régler ou copier les réglages plus bas dans la page (.gitconfig) |
| === Git prompt === | === Git prompt === | ||
| Pour avoir un prompt plus sympa avec des icônes qui indiques le statut de la copie de travail, utiliser [[https://github.com/magicmonty/bash-git-prompt|bash-git-prompt]]. | Pour avoir un prompt plus sympa avec des icônes qui indiques le statut de la copie de travail, utiliser [[https://github.com/magicmonty/bash-git-prompt|bash-git-prompt]]. | ||
| - | Une fois fait, si vous voulez afficher la légende lié au symboles, taper dans le shell : | + | Une fois fait, si vous voulez afficher la légende lié au symboles, tapez dans le shell : |
| <code> | <code> | ||
| git_prompt_help | git_prompt_help | ||
| Ligne 22: | Ligne 18: | ||
| //Attention, il faut être dans un répertoire GIT// | //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 : | ||
| + | <code> | ||
| + | git config --global status.showUntrackedFiles all | ||
| + | </code> | ||
| + | //L'équivalent sans cette configuration et la commande// ''git status -u''. | ||
| ==== Modification remote ==== | ==== Modification remote ==== | ||
| Ligne 28: | Ligne 31: | ||
| <code> | <code> | ||
| $ git remote -v | $ git remote -v | ||
| - | origin git://github.com/schacon/ticgit.git (fetch) | + | origin git://github.com/xxx/xxx.git (fetch) |
| - | origin git://github.com/schacon/ticgit.git (push) | + | origin git://github.com/xxx/xxx.git (push) |
| </code> | </code> | ||
| Pour changer l'URL du remote | Pour changer l'URL du remote | ||
| <code> | <code> | ||
| - | $ git remote -v | + | $ git remote set-url origin [new url] |
| - | origin git://github.com/schacon/ticgit.git (fetch) | + | |
| - | origin git://github.com/schacon/ticgit.git (push) | + | |
| - | $ git remote set-url origin git://github.com/github/git-reference.git | + | |
| - | origin git://github.com/github/git-reference.git (fetch) | + | |
| - | origin git://github.com/github/git-reference.git (push) | + | |
| </code> | </code> | ||
| + | Pour changer le nom du remote | ||
| + | <code> | ||
| + | $ git remote rename [old] [new] | ||
| + | </code> | ||
| ==== Diverses commandes ==== | ==== Diverses commandes ==== | ||
| - | Supprimer une branche sur le server distant | + | === Supprimer une branche sur le server distant === |
| <code> | <code> | ||
| git push --delete repo branch | git push --delete repo branch | ||
| </code> | </code> | ||
| - | Déplacer origin/master | + | === Avoir une information sur la création d'une branche === |
| <code> | <code> | ||
| - | git rebase --onto XXX | + | git reflog --date=local | grep [branch] |
| + | </code> | ||
| + | |||
| + | === 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 | ||
| + | <code> | ||
| + | git checkout --conflict=diff3 [nom du fichier] | ||
| + | </code> | ||
| + | |||
| + | === Merge === | ||
| + | Lors d'un merge, si on veut ignorer les retours à la lignes, espaces et indentations des fichiers, utiliser la commande suivante : | ||
| + | <code> | ||
| + | git merge -Xignore-all-space [branch] | ||
| + | </code> | ||
| + | |||
| + | === Faire le ménage dans les branches === | ||
| + | Un alias pour supprimer en locale les branches mergées. | ||
| + | <code> | ||
| + | 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' | ||
| + | </code> | ||
| + | |||
| + | === .gitconfig === | ||
| + | |||
| + | <code> | ||
| + | [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 | ||
| </code> | </code> | ||
| - | //XXX correspond au numéro de commit// | ||
| - | **todo :** git prompt (git_prompt_help) https://github.com/magicmonty/bash-git-prompt | ||
