Aller au contenu

📘 Synthùse : Utilisation de Git & Forgejo

1. Concepts clés

  • Repository (repo) : dossier contenant ton projet + tout l’historique.

  • Local = sur ton PC/serveur

  • Remote = sur Forgejo (ou GitHub, GitLab
)
  • Commit : une photo de l’état du projet Ă  un moment donnĂ©.
  • Branch : une ligne de dĂ©veloppement parallĂšle (ex: main, pages, gh-pages).
  • Remote : dĂ©pĂŽt distant (souvent origin).
  • Push / Pull : synchronisation locale ↔ distante.

2. Commandes essentielles

Initialiser ou récupérer un dépÎt

git init                 # créer un repo local
git clone url            # cloner un repo distant

Ajouter et sauvegarder des changements

git add fichier.txt      # préparer un fichier
git commit -m "Message"  # enregistrer un snapshot

Envoyer et récupérer du code

git push origin branche  # envoyer vers Forgejo
git pull origin branche  # récupérer les changements
git fetch origin         # mettre Ă  jour les infos sans fusionner

Branches

git branch               # lister branches locales
git branch -a            # lister locales + distantes
git checkout branche     # changer de branche
git checkout -b nouvelle # créer + basculer

Supprimer une branche

  • Locale :
git checkout autre_branche
git branch -d nom        # supprime si fusionnée
git branch -D nom        # supprime de force
  • Distante :
git push origin --delete nom
git fetch -p   # nettoyer les références

3. Purge & nettoyage

Effacer changements en cours

git reset --hard         # annule modifications suivies
git clean -fd            # supprime fichiers/dossiers non suivis

Revenir Ă  l’état du dĂ©pĂŽt distant

git fetch origin
git reset --hard origin/main

Purger totalement l’historique

rm -rf .git
git init
git add .
git commit -m "Nouveau départ"
git branch -M main
git remote add origin <url>
git push -f origin main

Nettoyer les traces

git reflog expire --expire=now --all
git gc --prune=now --aggressive

4. Flux typique avec Forgejo

  1. Cloner le repo : git clone ssh://.../monprojet.git

  2. Créer une branche pour une fonctionnalité : git checkout -b feature-x

  3. Faire des changements + commits : git add . && git commit -m "Ajout de X"

  4. Envoyer la branche : git push origin feature-x

  5. Ouvrir une Pull Request (PR) dans Forgejo pour demander la fusion dans main.

  6. Nettoyer les branches une fois fusionnées :

  7. git branch -d feature-x (local)

  8. git push origin --delete feature-x (distant)

5. Bonnes pratiques

  • Toujours travailler sur une branche dĂ©diĂ©e, jamais directement sur main.
  • Faire des commits clairs, avec des messages explicites.
  • Synchroniser souvent (git pull avant de travailler, git push aprĂšs).
  • Nettoyer rĂ©guliĂšrement les branches obsolĂštes (git fetch -p).
  • Si tu veux repartir propre → reset ou rĂ©init complĂšte avec un seul commit.

6. Voir la liste des remotes configurés

C’est la base pour savoir vers quels serveurs ton dĂ©pĂŽt local est connectĂ©.

git remote -v

Exemple :

origin  git@forgejo:alexis/mkdocs.git (fetch)
origin  git@forgejo:alexis/mkdocs.git (push)

âžĄïž Ici, tu as un remote origin qui pointe vers Forgejo.


7. Voir plus de détails sur un remote

git remote show origin

Exemple :

* remote origin
  Fetch URL: git@forgejo:alexis/mkdocs.git
  Push  URL: git@forgejo:alexis/mkdocs.git
  HEAD branch: main
  Remote branches:
    gh-pages tracked
    main     tracked
    pages    tracked

âžĄïž Tu vois toutes les branches suivies, la branche par dĂ©faut, etc.


8. Vérifier la connexion SSH

Si tu utilises SSH pour te connecter Ă  Forgejo/GitHub/GitLab :

ssh -T git@forgejo

âžĄïž VĂ©rifie que ton client peut se connecter et que ta clĂ© est acceptĂ©e.


9. Historique des connexions (coté serveur)

⚠ Git en lui-mĂȘme ne garde pas un “journal des connexions”, mais le serveur Forgejo (ou GitLab, GitHub) oui.

  • Dans Forgejo → onglet Security / Sessions tu peux voir les connexions.
  • CĂŽtĂ© serveur SSH (si auto-hĂ©bergĂ©) → tu peux voir les logs dans :
journalctl -u ssh
# ou
grep sshd /var/log/auth.log

✅ En rĂ©sumĂ© :

  • git remote -v → liste simple des connexions configurĂ©es
  • git remote show origin → dĂ©tails des branches suivies
  • ssh -T git@forgejo → tester la connexion SSH
  • cĂŽtĂ© Forgejo / serveur SSH → consulter les journaux pour voir qui s’est connectĂ©