From 9ca55d25b61bad0b9d875e78567adf6739f62937 Mon Sep 17 00:00:00 2001 From: ertopogo Date: Sun, 1 Feb 2026 03:24:50 +0100 Subject: docs: git refs + ignore error txt --- DOC_TECHNIQUE.md | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) (limited to 'DOC_TECHNIQUE.md') diff --git a/DOC_TECHNIQUE.md b/DOC_TECHNIQUE.md index fd8e041..ffd108c 100644 --- a/DOC_TECHNIQUE.md +++ b/DOC_TECHNIQUE.md @@ -505,3 +505,79 @@ Notes : - Ne pas committer `.env` (fichier local, secrets). - En cas de blocage, supprimer `.git/index.lock` avant de relancer Git. +### 11.4 Comprendre les references Git (local vs distant) + +Git stocke des pointeurs vers des commits. Ces pointeurs sont des references. + +- Locales : `refs/heads/` (ex: `refs/heads/main`) +- Distantes : `refs/remotes//` (ex: `refs/remotes/origin/main`) +- Tags : `refs/tags/` + +Comment les voir : +``` +git branch -a +``` +Affiche les branches locales et distantes. Les distantes apparaissent sous `remotes/origin/...`. + +``` +git show-ref --heads +``` +Liste les branches locales (refs/heads) et le commit pointe par chaque branche. + +``` +git show-ref --tags +``` +Liste les tags (refs/tags). Si rien n'apparait, il n'y a pas de tags. + +``` +git show-ref --heads --tags --dereference +``` +Affiche toutes les references et leurs commits. Utile si des tags pointent vers des objets annexes. + +``` +git show-ref --heads --quiet origin/main +``` +Test silencieux : retourne un code de sortie 0 si la reference existe, 1 sinon. + +Representation locale d'une branche distante : +- `origin/main` n'est pas une branche locale. C'est un **pointeur local** qui represente + l'etat de la branche distante `main` a la date du dernier `git fetch`. +- Quand on fait `git fetch`, Git met a jour `refs/remotes/origin/main`. +- Quand on fait `git merge origin/main`, on integre cette reference distante dans la branche locale `main`. + +### 11.5 Recuperer sur antel et nettoyer les fichiers .txt + +#### a) Recuperer les mises a jour depuis chillka +Sur antel : +``` +cd /mnt/e/Dev/Web-Works/Lucien-sens-bon +git fetch origin +git checkout main +git pull --ff-only +``` +Explication rapide : +- `git fetch origin` : telecharge les refs distantes sans modifier la branche locale. +- `git checkout main` : se place sur la branche principale. +- `git pull --ff-only` : met a jour la branche locale **uniquement** si l'historique est lineaire. + +Si antel a des changements locaux : +``` +git status +git add -A +git commit -m "wip antel" +git pull --rebase +``` +Explication rapide : +- `git commit` : sauvegarder les changements locaux. +- `git pull --rebase` : rejouer ces commits au-dessus de `origin/main` pour eviter un merge commit. + +#### b) Retirer des fichiers .txt deja stages +Si des fichiers .txt ne doivent pas etre versionnes : +``` +git restore --staged _fichier-avec-erreurs/*.txt +rm -f _fichier-avec-erreurs/*.txt +``` +Explication rapide : +- `git restore --staged` : retire les fichiers de l'index sans toucher le disque. +- `rm -f` : supprime les fichiers localement. + -- cgit v1.2.3