Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes |
informatique:git [2018/09/27 05:28] – [Des alias pour gagner du temps] alexis | informatique:git [2023/07/07 03:26] – [Pour aller plus loin] alexis |
---|
====== Git ====== | ====== Git ====== |
| <WRAP todo> |
FIXME → Séparer la page comme celle pour mysql | <code bash> |
| # Ajouter un dépôt distant |
| git remote add <nom> <url> |
| </code> |
| * [[https://stackoverflow.com/questions/25931026/how-can-i-rename-a-git-stash|How can I rename a git stash? - Stack Overflow]] |
| * [[https://github.com/saschagrunert/git-journal/|saschagrunert/git-journal: The Git Commit Message and Changelog Generation Framework]] |
| * [[https://grimoire.ca/dev/commit-messages|The Codex » Writing Good Commit Messages]] |
| * Vérifier ce que j'ai fait à la maison pour la configuration du prompt |
| * Ajouter une section sur les préférences de l'utilisateur par dépot |
| </WRAP> |
| |
===== Configuration ===== | ===== Configuration ===== |
Il est possible de modifier les préférences en utilisant soit git directement soit en modifiant son fichier de configuration. | Il est possible de modifier les préférences en utilisant soit git directement soit en modifiant son fichier de configuration. |
<WRAP group> | |
<WRAP half column> | <tabbox En ligne de commande> |
==== En ligne de commande ==== | |
<code bash> | <code bash> |
git config --global user.name "Nom et prénom de l'utilisateur" # Nom de l'utilisateur | git config --global user.name "Nom et prénom de l'utilisateur" # Nom de l'utilisateur |
| |
git config --global user.email "Adresse email de l'utilisateur" # Adresse email de l'utilisateur | git config --global user.email "Adresse email de l'utilisateur" # Adresse email de l'utilisateur |
| |
git config --global color.ui "auto" # Colorisation des résultats | git config --global color.ui "auto" # Colorisation des résultats |
| |
git config --global core.editor vim # Choix de l'éditeur par défaut | git config --global core.editor vim # Choix de l'éditeur par défaut |
| |
git config --global help.autocorrect 1 # Auto-correction des commandes | git config --global help.autocorrect 1 # Auto-correction des commandes |
| |
git config --global core.autocrlf false # Non conversion du caractère de fin de ligne | git config --global core.autocrlf false # Non conversion du caractère de fin de ligne |
| |
git config --global commit.template <filename> # Utilisation d'un modèle de message pour la validation | git config --global commit.template <filename> # Utilisation d'un modèle de message pour la validation |
| |
git config --global alias.st 'status' # Création d'un alias de la fonction "status" | git config --global alias.st 'status' # Création d'un alias de la fonction "status" |
| git config --global push.autoSetupRemote true # Création automatique de la branche distante au moment du partage (commande "push") |
</code> | </code> |
| |
* Avec ''%%--system%%'', la configuration s'applique à tous les utilisateurs de la machine. | * Avec ''%%--system%%'', la configuration s'applique à tous les utilisateurs de la machine. |
* Avec ''%%--local%%'', la configuration s'applique au dépôt courant. Dans ce cas, il faut bien sur se trouver dans un répertoire géré par git. | * Avec ''%%--local%%'', la configuration s'applique au dépôt courant. Dans ce cas, il faut bien sur se trouver dans un répertoire géré par git. |
</WRAP> | |
</WRAP> | </WRAP> |
| |
<WRAP half column> | <tabbox Avec un fichier de configuration> |
==== Avec un fichier de configuration ==== | |
Le fichier a modifier est le fichier //.gitconfig// à la racine du répertoire de l'utilisateur. Il est généré automatiquement lors de l'utilisation des commandes de configuration. | Le fichier a modifier est le fichier //.gitconfig// à la racine du répertoire de l'utilisateur. Il est généré automatiquement lors de l'utilisation des commandes de configuration. |
<code ini> | <code ini> |
[commit] | [commit] |
template = <filename> | template = <filename> |
| [push] |
| autoSetupRemote = true |
</code> | </code> |
<WRAP alert> | <WRAP alert> |
* En modifiant le fichier ''/etc/gitconfig'', la configuration s'applique à tous les utilisateurs de la machine. | * En modifiant le fichier ''/etc/gitconfig'', la configuration s'applique à tous les utilisateurs de la machine. |
* En modifiant le fichier ''.git/config'', la configuration s'applique au dépôt courant. Dans ce cas, il faut bien sur se trouver dans un répertoire géré par git. | * En modifiant le fichier ''.git/config'', la configuration s'applique au dépôt courant. Dans ce cas, il faut bien sur se trouver dans un répertoire géré par git. |
</WRAP> | |
</WRAP> | |
</WRAP> | </WRAP> |
| |
</WRAP> | </WRAP> |
| |
==== Des alias pour gagner du temps ==== | <tabbox Des alias pour gagner du temps> |
En plus de raccourcir certaines commandes, les alias permettent aussi de combiner des actions répétitives en une seule commande. | En plus de raccourcir certaines commandes, les alias permettent aussi de combiner des actions répétitives en une seule commande. |
Voici les alias que j'utilise actuellement. | Voici les alias que j'utilise actuellement. |
check = diff --check HEAD | check = diff --check HEAD |
; Fixup a commit into another | ; Fixup a commit into another |
fixup = "!sh -c 'git diff-index --quiet HEAD -- ; if [ $? -eq 1 ]; then echo \"\\e[91mUnstaged modifications\\e[0m, fixup impossible.\"; exit; fi; SHA=$(git rev-parse $1) && git commit --fixup $SHA && GIT_SEQUENCE_EDITOR=: git rebase --interactive --autosquash $SHA~' -" | fixup = !sh -c 'git stash --keep-index && SHA=$(git rev-parse $1) && git commit --fixup $SHA && GIT_SEQUENCE_EDITOR=: git rebase --interactive --autosquash $SHA~ && git stash pop' - |
; Retrieve a PR locally | ; Show file names in commits |
pr = !sh -c 'git fetch && git checkout pr/$1' - | list-file = !sh -c 'git diff-tree --no-commit-id --name-only -r ${1:-HEAD}' - |
| ; Show branches ordered by last working time |
| last-work = branch --sort='-committerdate' --format='%(color:green)%(committerdate:relative)%(color:reset) %(refname:short)' --color=always |
| ; Retrieve a MR locally (gitlab) |
| mr = !sh -c 'git fetch ${2:-origin} merge-requests/$1/head:mr/$1 && git checkout mr/$1' - |
; Show log on oneline | ; Show log on oneline |
oneline = log --oneline --abbrev-commit --graph | oneline = log --oneline --abbrev-commit --graph |
| ; Retrieve a PR locally (github) |
| pr = !sh -c 'git fetch ${2:-origin} pull/$1/head:pr/$1 && git checkout pr/$1' - |
| ; Prune local tags that don't exist on remote |
| pt = !git tag -l | xargs git tag -d && git fetch -t |
| ; Remove local MRs (gitlab) |
| rmmr = !git checkout master && git branch --list 'mr/*' --format '%(refname:lstrip=2)' | xargs git branch -D |
| ; Show synchronized branches without remote |
| stale-branch = !git fetch --all --prune && git branch --verbose | awk '/\\[gone\\]/ {print $1}' |
</code> | </code> |
<WRAP info> | <WRAP info> |
La commande '':'' fait partie des commandes incluses dans Bash. Voir [[https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Builtins.html#Bourne-Shell-Builtins|ici]] pour plus d'informations. | La commande '':'', utilisée comme éditeur dans la variable ''GIT_SEQUENCE_EDITOR'', fait partie des commandes incluses dans Bash. Voir [[https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Builtins.html#Bourne-Shell-Builtins|ici]] pour plus d'informations. |
| </WRAP> |
| <WRAP alert> |
| Attention, la version de //sed// disponible sur MacOS ne supporte pas l'option ''--expression''. |
| Il faut la remplacer par l'option ''-e'', le reste étant conservé à l'identique. |
</WRAP> | </WRAP> |
| |
| <tabbox Prompt personnalisé> |
FIXME Ajouter une section sur les préférences de l'utilisateur par dépot | <WRAP todo> |
| Vérifier ce que j'ai fait à la maison |
| </WRAP> |
<code bash> | <code bash> |
# Ajouter un dépôt distant | export GIT_PS1_SHOWDIRTYSTATE=1 |
git remote add <nom> <url> | export GIT_PS1_SHOWSTASHSTATE=1 |
| export GIT_PS1_SHOWUNTRACKEDFILES=1 |
| export GIT_PS1_SHOWUPSTREAM=verbose |
| export GIT_PS1_DESCRIBE_STYLE=branch |
| export GIT_PS1_SHOWCOLORHINTS=1 |
| export PROMPT_COMMAND='__git_ps1 "\[\033[1;32m\]\u@\h:\[\033[1;34m\]\w\[\033[1;m\]" " \\\$ "' |
</code> | </code> |
| </tabbox> |
| |
| |
===== Utilisation ===== | ===== Utilisation ===== |
| <tabbox Aide> |
| Il existe de nombreux outils fournis avec git. L'ensemble de ceux décrit ici ne représentent qu'une petite partie des possibilités de Git. Pour apprendre à connaître Git, la curiosité est de mise et quelques commandes existent pour l'aider : |
| <code bash> |
| # Afficher la liste et l'usage des commandes les plus communes |
| git help |
| |
==== Utiliser les logs ==== | # Afficher la liste et l'usage de l'ensemble des commandes |
| git help --all |
| |
| # Afficher la liste des guides |
| git help --guides |
| |
| # Afficher l'aide d'une commande ou un guide |
| git help <command> |
| </code> |
| <tabbox Journal d'évènement> |
L'ensemble de ces commandes sont utilisables pour un fichier particulier en ajoutant ''%%-- <file_path>%%'' à la fin de la commande. | L'ensemble de ces commandes sont utilisables pour un fichier particulier en ajoutant ''%%-- <file_path>%%'' à la fin de la commande. |
<code bash> | <code bash> |
# Afficher les logs | # Afficher le journal d'évènement |
git log | git log |
| |
# Afficher les logs avec les statistiques | # Afficher le journal d'évènement avec les statistiques |
git log --stat | git log --stat |
| |
# Afficher les logs des n dernières révisions | # Afficher le journal d'évènement des n dernières révisions |
git log -n | git log -n |
| |
# Afficher les logs sur une ligne | # Afficher le journal d'évènement sur une ligne |
git log --oneline | git log --oneline |
| |
# Afficher les logs entre 2 révisions | # Afficher le journal d'évènement entre 2 révisions |
git log <commit>..<commit> | git log <commit>..<commit> |
| |
git log --pretty=oneline --abbrev-commit --graph --decorate | git log --pretty=oneline --abbrev-commit --graph --decorate |
| |
# Afficher la liste des tags par date | # Afficher la liste des étiquettes par date |
git log --date-order --graph --tags --simplify-by-decoration --pretty=format:'%ai %h %d' | git log --date-order --graph --tags --simplify-by-decoration --pretty=format:'%ai %h %d' |
</code> | </code> |
==== Utiliser les commits ==== | <tabbox Révisions> |
* Révisionner du code | * Révisionner du code |
<code bash> | <code bash> |
# Ajouter les fichiers à révisionner | # Ajouter les fichiers à révisionner |
git add <file1> <file2> | git add <file1> <file2> |
# Révisionner les modifications | |
| # Révisionner les modifications en saisissant un message dans l'éditeur de texte par défaut |
git commit | git commit |
# À ce moment, l'éditeur de texte par défaut va s'ouvrir pour ajouter un message à la révision | # Révisionner les modifications en saisissant un titre uniquement sans ouvrir l'éditeur de texte par défaut |
| git commit -m <title> |
| # Révisionner les modifications en saisissant un titre et un message sans ouvrir l'éditeur de texte par défaut |
| git commit -m <title> -m <message> |
| |
# Il est aussi possible de faire tout ça automatiquement | # Il est aussi possible de faire tout ça automatiquement (ce n'est pas recommandé) |
git commit -a -m <message> | git commit -a -m <title> -m <message> |
</code> | </code> |
| |
* [[http://pioupioum.fr/developpement/git-10-commandes-utiles.html#antidater-commit|Antidater une révision]] | * [[http://pioupioum.fr/developpement/git-10-commandes-utiles.html#antidater-commit|Antidater une révision]] |
* [[https://stackoverflow.com/questions/4307095/how-can-i-split-up-a-git-commit-buried-in-history#4307158|How can I split up a Git commit buried in history?]] | * [[https://stackoverflow.com/questions/4307095/how-can-i-split-up-a-git-commit-buried-in-history#4307158|How can I split up a Git commit buried in history?]] |
| <tabbox Branches> |
==== Utiliser les branches ==== | |
* Afficher les branches | * Afficher les branches |
<code bash> | <code bash> |
- [[https://gist.github.com/jbgo/1944238|How to recover a git branch you accidentally deleted]] | - [[https://gist.github.com/jbgo/1944238|How to recover a git branch you accidentally deleted]] |
- [[https://stackoverflow.com/questions/28932515/how-to-unmerge-a-git-merge#28932585|How to unmerge a Git merge?]] | - [[https://stackoverflow.com/questions/28932515/how-to-unmerge-a-git-merge#28932585|How to unmerge a Git merge?]] |
==== Utiliser les tags ==== | <tabbox Étiquettes> |
* Lister les tags | * Lister les étiquettes |
<code bash> | <code bash> |
git tag | git tag |
</code> | </code> |
| |
* Créer un tag à usage privé ou temporaire (tag léger) | * Créer une étiquette à usage privé ou temporaire (étiquette légère) |
<code bash> | <code bash> |
git tag <tagname> | git tag <tagname> |
</code> | </code> |
| |
* Créer un tag à usage public (tag annoté) | * Créer une étiquette à usage public (étiquette annotée) |
<code bash> | <code bash> |
git tag -a <tagname> | git tag -a <tagname> |
</code> | </code> |
| |
* Créer un tag distant | * Créer une étiquette distante |
Il faut que le tag existe déjà localement pour pouvoir le créer sur un //repository// distant. | Il faut que l'étiquette existe déjà localement pour pouvoir la créer sur un dépôt distant. |
<code bash> | <code bash> |
# Pour créer un seul tag | # Pour créer une seul étiquette |
git push origin <tagname> | git push origin <tagname> |
# Pour créer tous les tags | # Pour créer toutes les étiquettes |
git push --tags | git push --tags |
</code> | </code> |
| |
* Supprimer un tag distant (([[http://stackoverflow.com/questions/5480258/how-to-delete-a-remote-git-tag#5480292|How to delete a git remote tag?]])) | * Supprimer étiquette distante (([[http://stackoverflow.com/questions/5480258/how-to-delete-a-remote-git-tag#5480292|How to delete a git remote tag?]])) |
<code bash> | <code bash> |
# La manière compréhensible | # La manière compréhensible |
</code> | </code> |
| |
* Remplacer un tag léger par un tag annoté (([[http://sartak.org/2011/01/replace-a-lightweight-git-tag-with-an-annotated-tag.html|Replace a Lightweight Git Tag with an Annotated Tag]])) | * Remplacer étiquette légère par étiquette annotée (([[http://sartak.org/2011/01/replace-a-lightweight-git-tag-with-an-annotated-tag.html|Replace a Lightweight Git Tag with an Annotated Tag]])) |
<code bash> | <code bash> |
# Récupérer le code associé au tag | # Récupérer le code associé à l'étiquette |
git checkout <tagname> | git checkout <tagname> |
| |
# Supprimer le tag local | # Supprimer l'étiquette locale |
git tag -d <tagname> | git tag -d <tagname> |
| |
# Créer le tag annoté antidaté à la date de la révision | # Créer l'étiquette annotée antidatée à la date de la révision |
GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" git tag -a <tagname> | GIT_COMMITTER_DATE="$(git show --format=%aD | head -1)" git tag -a <tagname> |
| |
# Supprimer le tag distant | # Supprimer l'étiquette distante |
git push origin :refs/tags/<tagname> | git push origin :refs/tags/<tagname> |
| |
# Créer le tag distant | # Créer l'étiquette distante |
git push --tags | git push --tags |
</code> | </code> |
==== Utiliser les notes ==== | <tabbox Notes> |
| * Ajouter une note sur un révision |
* Ajouter une note sur un commit | |
<code bash> | <code bash> |
# Sans espace de nom | # Sans espace de nom |
- [[http://git-scm.com/blog/2010/08/25/notes.html|Note to Self]] | - [[http://git-scm.com/blog/2010/08/25/notes.html|Note to Self]] |
- [[http://alblue.bandlem.com/2011/11/git-tip-of-week-git-notes.html|Git Tip of the Week: Git Notes]] | - [[http://alblue.bandlem.com/2011/11/git-tip-of-week-git-notes.html|Git Tip of the Week: Git Notes]] |
| <tabbox Divers> |
==== Divers ==== | |
* Créer et appliquer un patch (([[https://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git/|How to create and apply a patch with Git]])) | * Créer et appliquer un patch (([[https://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git/|How to create and apply a patch with Git]])) |
<code bash> | <code bash> |
git diff --name-only <branch>..<branch> | git diff --name-only <branch>..<branch> |
</code> | </code> |
| <WRAP tip> |
| Il est possible de filtrer les résultats sur le type de changement en utilisant ''%%--diff-filter%%''. Cette option prend une ou plusieurs valeurs dans la liste suivante : |
| * ''A'' pour les fichiers ajoutés. |
| * ''D'' pour les fichiers supprimés. |
| * ''M'' pour les fichiers modifiés. |
| * ''R'' pour les fichiers déplacés. |
| </WRAP> |
| |
| |
* Mettre de côté des modifications ([[http://git-scm.com/book/en/Git-Tools-Stashing|documentation officielle]]) | * Mettre de côté des modifications ([[http://git-scm.com/book/en/Git-Tools-Stashing|documentation officielle]]) |
</code> | </code> |
| |
* Afficher la liste des fichiers d'un commit | * Afficher la liste des fichiers d'une révision |
<code bash> | <code bash> |
git diff-tree --no-commit-id --name-only -r <treeish> | git diff-tree --no-commit-id --name-only -r <treeish> |
</code> | </code> |
| |
* Dupliquer un repository (([[https://help.github.com/articles/duplicating-a-repository/|Duplicating a repository]])) | * Dupliquer un dépôt (([[https://help.github.com/articles/duplicating-a-repository/|Duplicating a repository]])) |
<code bash> | <code bash> |
# Faire un clone brut du projet | # Faire un clone brut du projet |
</code> | </code> |
| |
===== Pour aller plus loin ===== | * Afficher la liste des fichiers gérés |
Il existe de nombreux outils fournis avec git. L'ensemble de ceux décrit ici ne représentent qu'une petite partie des possibilités de Git. Pour apprendre à connaître Git, la curiosité est de mise et quelques commandes existent pour l'aider : | |
<code bash> | <code bash> |
# Afficher la liste et l'usage des commandes les plus communes | git ls-tree -r master --name-only |
git help | </code> |
| </tabbox> |
| |
# Afficher la liste et l'usage de l'ensemble des commandes | ===== Variables d'environnement ===== |
git help --all | * **GIT_SEQUENCE_EDITOR** : Cette variable surcharge l'éditeur configuré lors de l'édition de la liste d'opérations à effectuer lors d'un //rebase// interractif. |
| * **GIT_TERMINAL_PROMPT** (([[https://serverfault.com/questions/544156/git-clone-fail-instead-of-prompting-for-credentials|automation - git clone - fail instead of prompting for credentials - Server Fault]])): Si cette variable est initialisée à ''0'', ''git'' n'affichera pas l'invite de commande (par exemple, pour demander les identifiants de connexion HTTP). |
# Afficher la liste des guides | <code bash> |
git help --guides | # La commande suivante va s'arrêter en erreur sans proposer l'invite de commande |
| GIT_TERMINAL_PROMPT=0 git clone https://github.com/some/non-existing-repo |
# Afficher l'aide d'une commande ou un guide | |
git help <command> | |
</code> | </code> |
| |
===== Liens utiles ===== | ===== Liens utiles ===== |
| <tabbox Aide mémoire> |
==== Aide mémoire ==== | |
- [[http://git-scm.com/docs|Index des commandes]] | - [[http://git-scm.com/docs|Index des commandes]] |
- [[http://ndpsoftware.com/git-cheatsheet.html|Aide mémoire Git]] | - [[http://ndpsoftware.com/git-cheatsheet.html|Aide mémoire Git]] |
- [[http://www.cheat-sheets.org/saved-copy/git-cheat-sheet.pdf|Aide mémoire Git]] | - [[http://www.cheat-sheets.org/saved-copy/git-cheat-sheet.pdf|Aide mémoire Git]] |
- [[http://git-scm.com/book|Version en ligne et complète du livre «Pro Git»]] | - [[http://git-scm.com/book|Version en ligne et complète du livre «Pro Git»]] |
| - [[https://github.com/ineat/refcards/blob/master/git/FR.md|refcards/FR.md at master · ineat/refcards]] |
==== Pour commencer ==== | <tabbox Pour commencer> |
- [[http://danielmiessler.com/study/git/|A git Primer]] | - [[http://danielmiessler.com/study/git/|A git Primer]] |
- [[http://githowto.com/|Git How To]] | - [[http://githowto.com/|Git How To]] |
- [[http://gitimmersion.com/|Git immersion]] | - [[http://gitimmersion.com/|Git immersion]] |
- [[http://www.learnenough.com/git-tutorial|Learn Enough Git to Be Dangerous]] | - [[http://www.learnenough.com/git-tutorial|Learn Enough Git to Be Dangerous]] |
| - [[https://dev.to/unseenwizzard/learn-git-concepts-not-commands-4gjc|Learn git concepts, not commands - DEV Community 👩💻👨💻]] |
==== Pour aller plus loin ==== | - [[https://jwiegley.github.io/git-from-the-bottom-up/|Git from the Bottom Up]] |
| <tabbox Pour aller plus loin> |
- [[http://alexpeattie.com/blog/working-with-dates-in-git/|Working with dates in Git]] | - [[http://alexpeattie.com/blog/working-with-dates-in-git/|Working with dates in Git]] |
- [[http://www.freeklijten.nl/home/2011/07/05/Git-commit-hooks-using-PHP|Git commit hooks using PHP]] | - [[http://www.freeklijten.nl/home/2011/07/05/Git-commit-hooks-using-PHP|Git commit hooks using PHP]] |
- [[https://stackoverflow.com/questions/89332/how-to-recover-a-dropped-stash-in-git|How to recover a dropped stash in Git?]] | - [[https://stackoverflow.com/questions/89332/how-to-recover-a-dropped-stash-in-git|How to recover a dropped stash in Git?]] |
- [[https://mghignet.github.io/git-dammit-talk/|Git dammit!]] | - [[https://mghignet.github.io/git-dammit-talk/|Git dammit!]] |
| - [[https://dev.to/daolf/git-series-13-understanding-git-for-real-by-exploring-the-git-director--5bd0|Understanding git for real by exploring the .git directory - DEV]] |
| - [[https://www.atlassian.com/blog/git/tear-apart-repository-git-way|How to tear apart a repository: the Git way - Work Life by Atlassian]] |
| - [[https://blog.plover.com/prog/git/tips-2.html|The Universe of Discourse : Things I wish everyone knew about Git (Part II)]] |
| - [Et merde, Git!?!](https://ohshitgit.com/fr) |
| |
==== Humour ==== | |
| |
| <tabbox Humour> |
- sur [[http://angriestprogrammer.com/comic/source_control|angriestprogrammer.com]] | - sur [[http://angriestprogrammer.com/comic/source_control|angriestprogrammer.com]] |
- sur [[http://xkcd.com/1296/|xkcd.com]] | - sur [[http://xkcd.com/1296/|xkcd.com]] |
- [[https://hikaruzone.files.wordpress.com/2015/10/in-case-of-fire-1-git-commit-2-git-push-3-leave-building.pdf|En cas d'incendie]] et [[https://github.com/qw3rtman/git-fire|le script]] qui va avec. | - [[https://hikaruzone.files.wordpress.com/2015/10/in-case-of-fire-1-git-commit-2-git-push-3-leave-building.pdf|En cas d'incendie]] et [[https://github.com/qw3rtman/git-fire|le script]] qui va avec. |
- sur [[http://xkcd.com/1597/|xkcd.com]] encore | - sur [[http://xkcd.com/1597/|xkcd.com]] encore |
| </tabbox> |
| |
===== Divers ===== | |
| |
FIXME → Vérifier ce que j'ai fait à la maison | |
| |
* Modifier son prompt pour qu'il soit plus utile | |
<code bash> | |
export GIT_PS1_SHOWDIRTYSTATE=1 | |
export GIT_PS1_SHOWSTASHSTATE=1 | |
export GIT_PS1_SHOWUNTRACKEDFILES=1 | |
export GIT_PS1_SHOWUPSTREAM=verbose | |
export GIT_PS1_DESCRIBE_STYLE=branch | |
export GIT_PS1_SHOWCOLORHINTS=1 | |
export PROMPT_COMMAND='__git_ps1 "\[\033[1;32m\]\u@\h:\[\033[1;34m\]\w\[\033[1;m\]" " \\\$ "' | |
</code> | |
| |