Outils personnels

Git : utilisation : Différence entre versions

De wikiGite

(Page créée avec « = Documentation = http://progit.org/ = Utilisation = Cloner un dépôt remote sur un PC de développement : git clone git@github.com:kogite/fabric ./fabric Valider les modi... »)
(Aucune différence)

Version du 26 avril 2012 à 15:08

Documentation

http://progit.org/

Utilisation

Cloner un dépôt remote sur un PC de développement :

git clone git@github.com:kogite/fabric ./fabric

Valider les modifications en local

git commit -a -m"The commit description text"

Pousser ces modification vers le dépôt remote

git push origin

Récupérer les sources à partir du remote :

git fetch origin

Dans ce cas git ne fait aucun merge, il faudra le faire manuellement ensuite. On peut donc plutôt utiliser :

git pull origin

qui réalise fetch + merge autimatiquement.

Créer une branche :

git branch nouveau-module

Passer "de branche en branche" :

git checkout nouveau-module # place sur la branche nouveau-module fraichement créée
git checkout master # ramène sur la branche master

Pour créer une branche et aller directement dessus en même temps :

git checkout -b nouveau-module

Fusionner une branche au master :

git checkout master
git merge nouveau-module

S'il y a des conflits (mêmes fichiers modifiés sur les deux branches), Git prévient et annule le merge. Il faut résoudre les conflits manuellement avant de retenter une fusion.

Supprimer une branche (inutile, ou qui a été fusionnée à master) :

git branch -d nouveau-module


GITHUB : EXEMPLE AVEC PROJET FABRIC

Pour information :

Connecter en "kogite", aller sur sur https://github.com/fabric/fabric, créer un fork (bouton fork en haut à droite).

Le fork est automatiquement ajouté au dépôt kogite.

clone local (sur le PC de développement) :

cd ~/Dev/Fabric
git clone git@github.com:kogite/fabric ./fabric

Ce clone-ci s'appelle par défaut "master", le dépôt à l'origine du clone s'appelle par défaut "origin".

Aller dans cd ~/Dev/Fabric/fabric, travailler sur le code !

Commits réguliers dans notre clone local (master):

  • si nouveau(x) fichiers :
git add FILE1 FILE2 ...
  • sinon :
git commit -a -m"The commit description text"

Une fois les modifications validées en local, on "push" vers le dépôt principal (origin):

git push origin

(commande complète au cas où : git push origin master)

Maintenant, il faut avertir le dépôt officiel de Fabric qu'on a des modifications à inclure. Ce dépôt ne nous appartient pas et on ne peut donc pas y écrire, c'est au développeur principal de prendre la décision d'inclure notre code.

Pour ça, on fait une requête ("pull request") sur https://github.com/kogite/fabric

Déclarer le dépôt "maître" (qui s'appelera "upstream", nom convenu) :

$ cd ~/Dev/Fabric/fabric
$ git remote add upstream git://github.com/fabric/fabric.git

A l'avenir, pour récupérer les dernières version du "maître" et fusionner :

$ cd ~/Dev/Fabric/fabric
$ git fetch upstream
$ git merge upstream/master

--> ce qui merge "upstream" avec le "master" local. Il faut donc synchroniser master (local) avec origin (dépôt kogite/fabric) pour que tout le monde soit au même niveau.

$ git push origin

Gestionnaire graphique de version

gitk, ou Gitg