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
Sommaire
Documentation
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
- création compte git (exemple : "kogite", crée un dépôt https://github.com/kogite)
- enregistrement clé dsa.pub sur git : http://help.github.com/linux-set-up-git/
Pour information :
- Procédure fork/clonage : http://help.github.com/fork-a-repo/
- plus détaillée : http://www.eqqon.com/index.php/Collaborative_Github_Workflow
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