informatique:git
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
informatique:git [2020/11/19 03:14] – [Divers] alexis | informatique: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> | ||
+ | </ | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Vérifier ce que j'ai fait à la maison pour la configuration du prompt | ||
+ | * Ajouter une section sur les préférences de l' | ||
+ | </ | ||
===== Configuration ===== | ===== Configuration ===== | ||
Ligne 14: | Ligne 25: | ||
git config --global commit.template < | git config --global commit.template < | ||
git config --global alias.st ' | git config --global alias.st ' | ||
+ | git config --global push.autoSetupRemote true # Création automatique de la branche distante au moment du partage (commande " | ||
</ | </ | ||
Ligne 46: | Ligne 58: | ||
[commit] | [commit] | ||
template = < | template = < | ||
+ | [push] | ||
+ | autoSetupRemote = true | ||
</ | </ | ||
<WRAP alert> | <WRAP alert> | ||
Ligne 80: | 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=: | fixup = !sh -c 'git stash --keep-index && SHA=$(git rev-parse $1) && git commit --fixup $SHA && GIT_SEQUENCE_EDITOR=: | ||
- | ; Show branch | + | |
- | last-work = branch --sort=' | + | list-file = !sh -c 'git diff-tree --no-commit-id --name-only -r ${1: |
+ | ; Show branches | ||
+ | last-work = branch --sort=' | ||
+ | ; Retrieve a MR locally (gitlab) | ||
+ | mr = !sh -c 'git fetch ${2: | ||
; 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 |
pr = !sh -c 'git fetch ${2: | pr = !sh -c 'git fetch ${2: | ||
; 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 ' | ||
+ | ; Show synchronized branches without remote | ||
+ | stale-branch = !git fetch --all --prune && git branch --verbose | awk '/ | ||
</ | </ | ||
<WRAP info> | <WRAP info> | ||
La commande '':'', | La commande '':'', | ||
</ | </ | ||
+ | <WRAP alert> | ||
+ | Attention, la version de //sed// disponible sur MacOS ne supporte pas l' | ||
+ | Il faut la remplacer par l' | ||
+ | </ | ||
+ | |||
<tabbox Prompt personnalisé> | <tabbox Prompt personnalisé> | ||
<WRAP todo> | <WRAP todo> | ||
Ligne 107: | Ligne 134: | ||
</ | </ | ||
- | <WRAP todo> | ||
- | Ajouter une section sur les préférences de l' | ||
- | <code bash> | ||
- | # Ajouter un dépôt distant | ||
- | git remote add <nom> <url> | ||
- | </ | ||
- | </ | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
Ligne 160: | Ligne 180: | ||
# Ajouter les fichiers à révisionner | # Ajouter les fichiers à révisionner | ||
git add < | git add < | ||
- | # Révisionner les modifications | + | |
+ | # Révisionner les modifications | ||
git commit | git commit | ||
- | # À ce moment, | + | # Révisionner les modifications en saisissant un titre uniquement sans ouvrir |
+ | git commit -m < | ||
+ | # Révisionner les modifications en saisissant | ||
+ | git commit -m < | ||
- | # Il est aussi possible de faire tout ça automatiquement | + | # Il est aussi possible de faire tout ça automatiquement |
- | git commit -a -m < | + | git commit -a -m < |
</ | </ | ||
Ligne 463: | Ligne 487: | ||
git diff --name-only < | git diff --name-only < | ||
</ | </ | ||
+ | <WRAP tip> | ||
+ | Il est possible de filtrer les résultats sur le type de changement en utilisant '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | </ | ||
+ | |||
* Mettre de côté des modifications ([[http:// | * Mettre de côté des modifications ([[http:// | ||
Ligne 499: | Ligne 531: | ||
</ | </ | ||
- | * Dupliquer un dépçot | + | * Dupliquer un dépôt |
<code bash> | <code bash> | ||
# Faire un clone brut du projet | # Faire un clone brut du projet | ||
Ligne 523: | Ligne 555: | ||
# Avec un filtre complexe | # Avec un filtre complexe | ||
git ls-remote --heads origin master develop release\* | git ls-remote --heads origin master develop release\* | ||
+ | </ | ||
+ | |||
+ | * Afficher la liste des fichiers gérés | ||
+ | <code bash> | ||
+ | git ls-tree -r master --name-only | ||
</ | </ | ||
</ | </ | ||
+ | ===== Variables d' | ||
+ | * **GIT_SEQUENCE_EDITOR** : Cette variable surcharge l' | ||
+ | * **GIT_TERMINAL_PROMPT** (([[https:// | ||
+ | <code bash> | ||
+ | # La commande suivante va s' | ||
+ | GIT_TERMINAL_PROMPT=0 git clone https:// | ||
+ | </ | ||
===== Liens utiles ===== | ===== Liens utiles ===== | ||
Ligne 533: | Ligne 577: | ||
- [[http:// | - [[http:// | ||
- [[http:// | - [[http:// | ||
+ | - [[https:// | ||
<tabbox Pour commencer> | <tabbox Pour commencer> | ||
- [[http:// | - [[http:// | ||
Ligne 569: | Ligne 614: | ||
- [[https:// | - [[https:// | ||
- [[https:// | - [[https:// | ||
+ | - [[https:// | ||
+ | - [[https:// | ||
+ | - [[https:// | ||
+ | - [Et merde, Git!? | ||
+ | |||
+ | |||
+ | |||
<tabbox Humour> | <tabbox Humour> | ||
- sur [[http:// | - sur [[http:// |
informatique/git.txt · Dernière modification : 2024/02/09 05:47 de alexis