Outils pour utilisateurs

Outils du site


informatique:git

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
informatique:git [2020/11/18 12:41] alexisinformatique:git [2024/02/09 05:47] (Version actuelle) alexis
Ligne 1: Ligne 1:
 ====== Git ====== ====== Git ======
 +<WRAP todo>
 +<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>
  
Ligne 35: Ligne 39:
   * 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>
Ligne 56: Ligne 58:
 [commit] [commit]
         template = <filename>         template = <filename>
 +[push]
 +        autoSetupRemote = true
 </code> </code>
 <WRAP alert> <WRAP alert>
Ligne 65: Ligne 69:
   * 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>
  
Ligne 79: Ligne 81:
 </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.
Ligne 92: Ligne 94:
         ; Fixup a commit into another         ; Fixup a commit into another
         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' -         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' -
- ; Show branch ordered by last working time +        ; Show file names in commits 
- last-work = branch --sort='-committerdate' --format='%(color:green)%(committerdate:relative)%(color:reset) %(refname:short) --color=always'+        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+        ; Retrieve a PR locally (github)
         pr = !sh -c 'git fetch ${2:-origin} pull/$1/head:pr/$1 && git checkout pr/$1' -         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         ; Prune local tags that don't exist on remote
         pt = !git tag -l | xargs git tag -d && git fetch -t         pt = !git tag -l | xargs git tag -d && git fetch -t
 +        ; Remove local MRs (gitlab)
 +        rmmr = !git reset --hard && 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 '':'', 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. 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>
  
Ligne 134: Ligne 172:
 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>
  
Ligne 201: Ligne 243:
     * [[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>
Ligne 307: Ligne 348:
     - [[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
Ligne 342: Ligne 383:
 </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
Ligne 391: Ligne 431:
      - [[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>
Ligne 448: Ligne 487:
 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]])
Ligne 465: Ligne 512:
 </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>
Ligne 484: Ligne 531:
 </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
Ligne 510: Ligne 557:
 </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]]
Ligne 546: Ligne 590:
   - [[https://dev.to/unseenwizzard/learn-git-concepts-not-commands-4gjc|Learn git concepts, not commands - DEV Community 👩‍💻👨‍💻]]   - [[https://dev.to/unseenwizzard/learn-git-concepts-not-commands-4gjc|Learn git concepts, not commands - DEV Community 👩‍💻👨‍💻]]
   - [[https://jwiegley.github.io/git-from-the-bottom-up/|Git from the Bottom Up]]   - [[https://jwiegley.github.io/git-from-the-bottom-up/|Git from the Bottom Up]]
- +<tabbox Pour aller plus loin>
- +
- +
-==== 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]]
Ligne 573: Ligne 614:
   - [[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]]
Ligne 580: Ligne 627:
   - [[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> +
- +
-  * [[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]]+
  
  
informatique/git.1605732094.txt.gz · Dernière modification : 2020/11/18 12:41 de alexis