Fonctionnement Git &Github - ch-cbna/geonature GitHub Wiki

Règles Geontaure

  • Commit en anglais : "<Feat/Fix> <Nom_branche> <#NumTicket> <label : bug/enhancement/frontend/backend> (<close #NumTicket>)"
  • Code en anglais
  • Ticket en français

Branches

Master (Main) = Fichiers applicatifs de la dernière version stable Develop = FIchiers applicatifs des développements en cours

Fonctionnalités

Merge = associer les développements d'une branche à la branche Master (Main) Squash = merge deux commits Commit = Title + Body + Label

  • Title = Feat (Feature) / Fix (Debug) / Wip (Work In Progress) + Nom branche
  • Body = Numéro ticket
  • Label = Bug/Enchancement/Frontend/Backend

Projets

  • Backlog Plus prioritaire en tête de liste. Traiter "gros cailloux" en priorité.
  • To do
  • In progress
  • Done

Récupérer sa clé SSH pour pouvoir se connecter à Github en local

  • Dans le Terminal :

cat ~/.ssh/id_rsa.pub

  • Copier cette clé publique
  • Coller dans l'espace réservé sur Github : Github --> Profil --> Settings --> SSH keys --> New SSH Key

Github CLI

Pour pouvoir accéder à des commandes plus avancées qu'avec Git, en ligne de commande https://cli.github.com/manual/index

Une fois installé, Github Cli permet notamment de faire des pull request (gh pr) depuis un terminal, alors que cette action n'est pas faisable avec Git (que sur l'interface graphique de Github).

Pour l'installer :

deb https://cli.github.com/packages buster main
sudo wget -O /usr/share/keyrings/riot-im-archive-keyring.gpg https://packages.riot.im/debian/riot-im-archive-keyring.gpg
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/riot-im-archive-keyring.gpg] https://packages.riot.im/debian/ default main" | sudo tee /etc/apt/sources.list.d/riot-im.list
vi /etc/apt/sources.list.d/github-cli.list
apt install gh

Fichiers .sample

Ces fichiers sont des fichiers d'exemple, et ils ne sont pas executés, à moins de retirer le ".sample".

Dossier .gitignore

Git considère chaque fichier de votre copie de travail comme appartenant à l'un des trois types suivants :

  • tracké : un fichier qui a été stagé ou commité au préalable
  • non tracké : un fichier qui n'a pas été stagé ou commité
  • ignoré : un fichier que Git a explicitement reçu pour instruction d'ignorer.

Les fichiers ignorés sont trackés dans un fichier spécial appelé .gitignore qui est enregistré à la racine de votre répertoire.

Commandes Git dans le terminal

Commandes Action
git config --global user.email [email protected] Préférences utilisateur
git init Créer un nouveau dépôt git
gs / git status Affiche la liste des fichiers modifiés + ceux qui doivent être ajoutés ou validés
git add temp.txt Ajouter des fichiers à l'index
git clone /chemin/vers/dépôt Copier en local un dépôt
git switch -c <nom-branche> Créer une branche
git switch <nom-branche> Passer d’une branche à une autre
git branch Répertorier toutes les branches présentes dans le dépôt
git branch -d <nom-branche> Supprimer une branche
git merge <nom-branche> Fusionner une branche dans la branche active
git diff Enumérer tous les conflits actuels
git diff --base <nom-fichier> Lister les conflits
git diff <branche-source> <branche-cible> Afficher les conflits entre les branches à fusionner avant de les fusionner
git lg Lister toutes les modifications
git commit –m “Description du commit” Valider les modifications apportées au HEAD. Tout commit ne se fera pas dans le dépôt distant.
git pull Fusionner toutes les modifications présentes sur le dépôt distant dans le répertoire de travail local
git push origin master/develop Envoie les modifications locales apportées à la branche principale associée
git fetch origin Extraire tous les fichiers du dépôt distant qui ne sont pas actuellement dans le répertoire de travail local
git rm nomfichier.txt Supprimer des fichiers de l’index et du répertoire de travail
git reset --hard HEAD Réinitialiser l’index et le répertoire de travail à l’état du dernier commit

source : https://www.hostinger.fr/tutoriels/commandes-git