Articles taggés gitlab

GitLab – Mon premier projet et les commandes utiles

0

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

 

GitLab ou comment avoir son serveur Git auto-hébergé

0

Bonjour

Ca fait un certain temps que je me dis qu’il faudrait que je fasse du versionning de mes fichiers en particulier de mes scripts et tout centraliser dans un dépôt commun.

Après avoir testé par mal de chose comme :

  • GitHub (gratuit mais uniquement pour des repositories public) et ne voulant pas payer pour ça, je l’ai éliminé de la liste.
  • Venait ensuite Bitbucket que j’avais retenu dans ma short list mais bon ça reste externalisé.

Ce week end on m’a parlé de GitLab et j’ai donc été « forcé » de tester, et j’avoue que je l’ai adopté.

Avoir son propre serveur Git auto-hébergé ça n’a pas de prix.

Dans un premier nous allons voir l’installation qui est des plus simple, il suffit de vous rendre sur la page dédié à votre version d’OS pour moi Ubuntu 12.04 et de suivre les quelques lignes ci dessous :

wget https://downloads-packages.s3.amazonaws.com/ubuntu-12.04/gitlab_7.3.2-omnibus-1_amd64.deb
apt-get install openssh-server
apt-get install postfix # Select 'Internet Site', using sendmail instead also works, exim has problems
dpkg -i gitlab_7.3.2-omnibus-1_amd64.deb

Puis une fois ces commandes passées, il faut éditer le fichier /etc/gitlab/gitlab.rb pour rajouter l’adresse externe de votre serveur Git

nano /etc/gitlab/gitlab.rb
# Change the external_url to the address your users will type in their browser
external_url 'http://git.domaine.fr

Une fois ce fichier modifié on lance la configuration de l’application avec la commande :

gitlab-ctl reconfigure

Une fois la procédure de configuration terminé vous pouvez vous connecter à l’adresse suivante http://git.domaine.fr avec le compte par défaut qui est :

Utilisateur : root

Password : 5iveL!fe

Il ne vous reste plus qu’à configurer votre GitLab et créer votre premier projet.

Haut de page