I Introduction
I.1 Résumé
C’est un outil de versioning de code suivant un modèle distribué.
Lien site officiel : https://git-scm.com/
I.2 Principe
Télécharger le client GIT à partir du site officiel.
Exécuter l’installateur (windows) puis suivant suivant …
Lancer « Git-Bash ». Une console apparaît (cygwin).
Aller dans le répertoire racine du projet en cours de développement. C’est parti !!!
II Commandes de bases
II.1 Aide
Obtenir de l’aide sur une commande git
git help commande
II.2 Gestion courante
Première installation : initialiser son profil
git config --global user.name "pseudo" git config --global user.email "adresse@mail.fr"
Initialisation d’un repository local
git init
Prise en compte de nouveaux fichiers
git add nom_de_fichier // prise en compte d'un fichier git add . // prise en compte de tous les fichiers (et répertoires)
Valider une version
git commit -m "commentaire" // valide une version git commit -a -m "commentaire" // prise en compte des fichiers modifiés + commit
Affiche les différents commit du repository
git log
Se positionner sur une ancienne version
git checkout SHAcommit
Revenir à la version principale
git checkout master
Supprimer un commit
git revert SHACommit
Modifier le commentaire d’un commit
git commit --amend -m "commentaire"
Qui a modifié un fichier particulier
git blame nom_fichier
Détail de la modification pour un fichier
git show debSHA
II.3 Opérations avec serveur distant
II.3.1 Opérations courantes
Clone d’un repository git
git clone url_http
Envoyer le repository local sur un serveur distant
git push origin master // pousse la branche master
Récupérer le repository distant vers le local
git pull origin master
Visionner les serveurs distants
git remote git remote -v
Ajouter un dépot existant
git remote add nom @url_depot // nom --> origin par exemple
II.3.2 Opérations particulières
Si la version sur le serveur a été modifiée soit directement sur ce dernier ou par un autre utilisateur, il n’est plus possible de pousser ses modifications.
Un message suivant apparaît :
hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Il faut récupérer les modifications sur son dépôt puis ensuite pousser ses modifications :
git fetch origin git merge origin/master git push origin master
Une explication détaillée et simple à comprendre : ici
II.4 gestion des branches
visualiser les branches d’un repository
git branch git branch -v
Créer une nouvelle branche
git branch nouvelle_branche
Supprime une branche
git branch -D nom_branch
Se positionner sur une branche
git checkout nom_branche git checkout -b nom_branche // création et positionnement sur une nouvelle branche
Fusionner une branche
git merge branch nom_branche
III Autres
Ignore la prise en compte des fichiers
fichier à la racine « .gitignore » dans lequel on met des repertoires ou noms de fichiers précis
Autres commandes à explorer :
git stash // mettre de côté les modifications en cours git stash po // reprendre ... git stash apply