Git
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