Services

Mémo git

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Dernière mise à jour : 22/11/2022 à 17h16
Table des matières Ici, juste un article me permettant de garder mémoire des commandes utiles (pour moi) sur git. Je n'utilise que peu git et cet outil permet tellement de choses qu'il est parfois complexe de s'y retrouver.

En local



Initier le projet



On se place dans le dossier que l'on veut "giter" :

Code BASH :
 
git init                # initie un dépôt vide et créé les fichiers nécessaires
git add --all           # ajoute tous les fichiers du dossier dans l'index du dépôt 
git commit -m "test"    # enregistre les changements dans le dépôt. L'option -m ajoute un message (explication des modif. par exemple)
 


Ignorer des fichiers



Il existe différentes méthodes pour ignorer des fichiers. La plus simple et la plus connue reste l'utilisation du fichier .gitignore placé à la racine du dépôt.

On y ajoute ensuite les fichiers/dossiers qu'on veut ignorer. Cela peut être des noms de fichiers, de dossiers, des chemins, on peut utiliser aussi l'étoile.

Si on souhaite supprimer des fichiers qu'on a publié et qu'on ajoute au .gitignore :

Code BASH :
git rm --cached filename


L'option --cached indique à git de ne pas supprimer le fichier de l'arborescence de travail mais seulement de le supprimer de l'index.
Avec un dossier, de manière récursive, on ajoute l'option -r :

Code BASH :
git rm -r --cached directory


On peut faire un check avec l'option -n

Code BASH :
git rm -r -n --cached directory


Gestion des branches



Pour créer une nouvelle branche :

Code BASH :
git branch dev       # créé une branche nommée dev


Pour lister les branches :

Code BASH :
git branch --list


Pour supprimer une branche :

Code BASH :
git branch -d dev       # supprime la branche dev


Pour renommer une branche :

Code BASH :
git branch -m dev tests    # renomme la branche dev en tests


Pour basculer sur une branche :

Code BASH :
git checkout dev


Dépôt distant



Paramétrer les connexion au dépôt distant



Avec une clé SSH



Pour cela, il est nécessaire :
  • d'avoir une paire de clé (privée/publique)
  • de déposer sa clé publique sur son compte github
  • d'activer ssh-agent sur son poste local


Générer sa paire de clé


Pour cela, plein de tutos existent. Sinon, un petit tour sur mon article Ansible et c'est décrit.

Déposer sa clé sur son compte github


Pour cela, c'est très simple, on se rend sur compte Github, puis on clique sur l'icone en haut à droite puis settings.
On va ensuite à gauche dans le menu SSH and GPG keys avant de cliquer sur le bouton vert "New SSH Key".

On peut ensuite faire un copier/coller du texte contenu dans le fichier de clé publique (fichier.pub).

Attention à ne pas copier le contenu de sa clé privée !

Activer le ssh-agent


Il faut ensuite activer ssh-agent sur le poste local avec la commande suivante :

Code BASH :
$ eval "$(ssh-agent -s)"
> Agent pid 59566


puis ajouter sa clé à l'agent ssh :

Code BASH :
ssh-add ~/.ssh/id_ed25519                 # id_ed25519 est le nom du fichier de clé privée


Si vous avez entrer une passphrase sur la clé (ce qui est fortement recommandé), elle sera demandée ici

On peut ensuite tester la connexion à github avec la commande suivante :

Code BASH :
ssh -T git@github.com


après avoir validé l'empreinte, vous devriez avoir un beau message de confirmation !

Quelques commandes relatives aux dépôts distants



Pour ajouter un dépôt distant (dans lequel on publiera les fichiers) :

Code BASH :
git remote add origin UrlDépôtGit


permet d'ajouter le dépôt distant défini par son url.

Cette URL peut varier en fonction de la méthode de publication :



Pour publier les commits d'une nouvelle branche (qu'on a en local mais en distant) :

Code BASH :
git push -u origin main               # origin est le nom du dépôt distant et main le nom de la branche


Pour publier les modifications de toutes les branches :

Code BASH :
git push --all


La commande suivante permet de voir quel dépôt distant est associé au dépôt local :

Code BASH :
git remote -v