Git

chmux
3 novembre 2017
Non classé

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

 

Savoir d’où provient un répertoire cloné :

git remote show origin

 

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

 

Modifier message du commit avant push :

git commit --amend -m "Nouveau message de commit"

 

Modifier message du commit après push :

git commit --amend -m "Nouveau message de commit"
git push --force

 

Voir l’historique des commits :

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

 

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

git reset HEAD^

 

Retourner dernier commit (et les modif des fichiers) :

git reset --hard HEAD^

 

Retourner autre commit :

git reset --hard ID_COMMIT

 

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