GitLab – Mon premier projet et les commandes utiles

0 comments

Posted on 13th octobre 2014 by cschwartz in Informatique |Versionning

,

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 :

apt-get install git

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

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

 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

Utilisation de git durant le développement

Ajouter un fichier au prochain commit

 git add monfichier.txt

Ajouter tous les fichiers créés ou modifiés au prochain commit

git add -A

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"

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"

Ou simplement la commande suivante qui vous ouvrira votre éditeur de texte préféré pour modifier le texte :

git commit --amend

Voir l’historique des commits

git log

Annuler un commit

Avant un push, pour annuler tous les commits fait depuis la dernière synchronisation git avec le dépôt distant :

git reset HEAD

et de même, mais uniquement sur un fichier :

git reset HEAD nomdufichier.txt

Récupérer un fichier dans sa dernière version commitée

git checkout -- monfichier.txt

Récupérer les sources du dépôt distants

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 :

git push origin 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 :

git log

Puis, vous annulez le commit en question :

git revert XXX

ou XXX est l’id du commit à annuler.

Puis vous pushez proprement avec

git push

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.

git revert HEAD~3

Les branches

Nous allons dans notre exemple vouloir créer une branche dev pour tester des modifications

Créer un branche dev

git branch dev

et pour créer une branche et switcher directement dessus :

git checkout -b dev

Lister les branches

git branch -v

Changer la branche courante

git checkout dev

Supprimer une branche

git branch -d dev

Récupérer une branche du dépôt git distant en local

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

Statistiques

Connaitre le nombre de commit git par utilisateur

git shortlog -sn

 

No comments yet.

Leave a comment