Git

Samuel Chevalley
3 novembre 2017

Nous partons du principe que nous avons un gitlab, que notre user est créé et que sa clé public est connu de gitlab.

Commandes utiles

Configurer git :

git config --global user.name "votre_pseudo"
git config --global user.email moi@email.com

Cette config sera reporté dans le fichier ~/.gitconfig

Ceci est utile pour que git ne vous embête pas lors de vos futurs commit.

Cloner un répertoire git :

git clone git@gitlab.toto.lan:projet_1/serveurweb.git (où l'url se trouve sur le projet gitlab)

 

Récupérer la dernière version du code :
Une fois dans le répertoire cloner

git pull

 

Suivre le status de notre dépôt en local (fichiers modifiés, commités…) :

git status

 

Commiter et pousser :
Une fois les modif sur les fichiers effectués

git add /chemins/fichiers (si ils ont étés ajoutés ou modifiés, si supprimés : git rm /chemins/fichiers)
git commit -m "message de commit"
git push

 

Voir l’historique des commits :

git log -p (-p pour le détail des modifs dans les fichiers)

 

Annuler dernier commit (en gardant les fichiers modifiés) :

git reset HEAD^

 

Annuler dernier commit (et les modif des fichiers) :

git reset --hard HEAD^

 

Annuler modification sur un fichier avant un commit :

git checkout fichier

Ceci remettra le fichier tel qu’il était au dernier commit
Annuler un commit publié

[schevalley@toto serveurweb] (master)$ git log
commit b1368a68033a6dd58d34d4e5b6c325a75b9c8cc4
Author: Samuel Chevalley <samuel.chevalley@toto.fr>
Date:   Mon Oct 30 11:29:29 2017 +0100

    Modification du fichier tata

commit b6e0b1e1095e7d0fd53c2bbcaa0a6e3e082848f9
Author: Samuel Chevalley <samuel.chevalley@toto.fr>
Date:   Mon Oct 30 11:08:55 2017 +0100

    Ajout du fichier toto

[schevalley@toto serveurweb] (master)$ git revert b6e0b1e1095e7d0fd53c2bbcaa0a6e3e082848f9
[schevalley@toto serveurweb] (master)$ git push

Ceci va inversé les opérations effectuées dans le commit b6e0b1e1095e7d0fd53c2bbcaa0a6e3e082848f9, créer un nouveau commit associé à ce revert qu’il faudra alors « pusher »

 

Les branches

Voir toutes les branches (master étant la branche principal) :

[schevalley@toto serveurweb] (master)$ git branch
* master

L’étoile indiquant sur quelle branche on est positionné

 

Créer une branche :

git branch maBranche

 

Changer de branche :

git checkout master
git checkout maBranche

 

Fusionner les modifications d’une autre branche sur master :

git checkout master
git merge maBranche

 

Suppression d’une branche :
Si le travail a été « mergé »

git branch -d maBranche

Git va s’assurer que la branche a bien été mergé avec master sinon il refuse la suppression.

Pour forcer une suppression (si on ne veut pas merger les commit de notre branche), il faut utiliser l’option « -D » :

git branch -D maBranche