Bonjour
Dans l’article précédent nous avons vu comment installer son propre serveur Git sous GitLab, maintenant déployons notre premier projet.
Ces commandes sont valide pour un OS basé sur Débian dont Ubuntu 12.04 que j’utilise.
Il faut dans un premier temps installer git avec la commande :
Ensuite nous allons passer à la configuration, avec un repository nécessitant une authentification ou simplement pour bien identifier votre identité lors de commit, vous pouvez définir votre nom et email de façon permanente (peut être modifié par la suite en retapant cette commande, mais vous évite de le faire à chaque commit) :
git config --global user.name "ThorAndCo"
git config --global user.email thorandco@domaine.fr |
git config --global user.name "ThorAndCo"
git config --global user.email thorandco@domaine.fr
Ensuite nous allons voir les points suivants :
Gérer ses dépots
Dans les exemples suivants, je vous propose de se baser sur les valeurs suivantes :
- Le répertoire local du projet : /home/git/monprojet
- Le dépot distant est sur GitLab : http://git.domaine.fr
- Le repo distant est accessible sur : git.domaine.fr/thorandco/monprojet.git
Créer un nouveau projet vide sur un dépot git vide
cd /home/git
mkdir monprojet
cd monprojet
git init
touch README
git add README
git commit -m 'Premier Commit'
git remote add origin git.domaine.fr/thorandco/monprojet.git
git push -u origin master |
cd /home/git
mkdir monprojet
cd monprojet
git init
touch README
git add README
git commit -m 'Premier Commit'
git remote add origin git.domaine.fr/thorandco/monprojet.git
git push -u origin master
Initialiser un projet git depuis un dépôt existant
cd /home/git
mkdir monprojet
cd monprojet
git init
git remote add git.domaine.fr/thorandco/monprojet.git
git pull -u origin master |
cd /home/git
mkdir monprojet
cd monprojet
git init
git remote add git.domaine.fr/thorandco/monprojet.git
git pull -u origin master
Utilisation de git durant le développement
Ajouter un fichier au prochain commit
Ajouter tous les fichiers créés ou modifiés au prochain commit
Commiter sur le dépôt git local
La commande commitera les fichiers ajoutés précédemment avec un commentaire « Ajout du fichier monfichier.txt». Si besoin, il vous sera demandé de vous authentifier par la suite.
git commit -m "Ajout du fichier monfichier.txt" |
git commit -m "Ajout du fichier monfichier.txt"
Modifier le message du dernier commit
Cette commande ne fonctionnera que si vous n’avez pas encore pushé sur le serveur distant. Elle permet de changer le message joint au dernier commit.
git commit --amend -m "Ajout du fichier monfichier.txt pour le projet" |
git commit --amend -m "Ajout du fichier monfichier.txt pour le projet"
Ou simplement la commande suivante qui vous ouvrira votre éditeur de texte préféré pour modifier le texte :
Voir l’historique des commits
Annuler un commit
Avant un push, pour annuler tous les commits fait depuis la dernière synchronisation git avec le dépôt distant :
et de même, mais uniquement sur un fichier :
git reset HEAD nomdufichier.txt |
git reset HEAD nomdufichier.txt
Récupérer un fichier dans sa dernière version commitée
git checkout -- monfichier.txt |
git checkout -- monfichier.txt
Récupérer les sources du dépôt distants
git fetch
git pull origin master |
git fetch
git pull origin master
Gérer les conflits git lors d’une synchronisation
Si une erreur survient (conflit sur dse fichiers), vous pouvez au choix :
- Faire un checkout local (ignore vos modification locales et les remplace par la source distante)
- Stocker la version dans un autre répertoire (stash) pour la retravailler proprement
- Fusionner les sources (merge)
Pusher ses commit sur le dépot distant
Pour pousser sur le depot origin, dans la branch master :
Annuler un commit en particulier déjà pushé
Dans un premier temps, vous récupérer l’id du commit à annuler, par exemple en consultant les logs :
Puis, vous annulez le commit en question :
ou XXX est l’id du commit à annuler.
Puis vous pushez proprement avec
Annuler les N derniers commits déjà pushés
La même méthode est employée, mais vous pouvez utiliser la commande suivante qui annulera par exemple les 3 derniers commits. Il vous restera alors à pusher proprement.
Les branches
Nous allons dans notre exemple vouloir créer une branche dev pour tester des modifications
Créer un branche dev
et pour créer une branche et switcher directement dessus :
Lister les branches
Changer la branche courante
Supprimer une branche
Récupérer une branche du dépôt git distant en local
git checkout -b dev origin/dev |
git checkout -b dev origin/dev
Merger (fusionner) une branche avec une autre
Par exemple, pour fusionner la branche « dev» avec la branche « master » :
git checkout master
git merge dev |
git checkout master
git merge dev
Statistiques
Connaitre le nombre de commit git par utilisateur