Projet

Général

Profil

Git » Historique » Révision 3

Révision 2 (Stéphane Boireau, 14/06/2013 15:36) → Révision 3/13 (Stéphane Boireau, 14/06/2013 15:40)

h1. Utiliser git en ligne de commande 

 Mettre en place un dépot git local: 

	 mkdir ~/git_gepi 
 cd ~/git_gepi 
 git clone git://github.com/tbelliard/gepi.git 

 Pour proposer une correction sur un problème particulier, créer une branche 

	 git... 


 h2. En vrac... 

 En vrac, j'avais noté: 

 git checkout developpement : va te sortir la branche développement dans le répertoire de travail. 
 git checkout production : va te sortir la branche production dans le répertoire de travail. 

 git status : permet de savoir quelle branche est chargée dans le répertore de travail. 

 git commit -m "MESSAGE" chemin/fichier : va commiter en local dans la branche du répertoire de travail... 

 git push origin production : va envoyer les fichiers commités en local vers le dépot github 

 git diff developpement joss/developpement : affiche un diff des branches indiquées 

 git log --name-only joss/developpement : affiche un log des commits avec les fichiers concernés 


 git fetch all 


 Ajouter le dépôt de Josselin, afficher dans le dossier courant la branche developpement, récupérer les dernières modifications sur le dépot de Josselin, prendre en compte dans le dépot local les modification commitées par Josselin sur son dépôt : 
 git remote add joss git@github.com:kigeia/gepi 
 git checkout developpement 
 git fetch joss 
 git merge joss/developpement 

 git branch -a : lister les branches 

 git reset --hard [sha_du_commit_avant_merge] 

 git reset --hard HEAD : Annuler les changements non commités. Reset de la copie de travail. Retour à la version la plus récente de la branche courante. 
 HEAD est un pointeur vers la branche courante, à son niveau de commit le plus récent. 

 En supposant que tu as poussé tes commit précédent sur origin/master, 
 le mieux est encore de faire git merge <branche>, puis quand tu as 
 fini le merge tu fait git diff origin/master. Si ça convient pas tu 
 fais git reset --hard origin/master; ou git push sinon. 

 ============================================================ 
 Pour annuler un commit particulier, sans perturber ceux effectués entre temps: 
 12:05 steph@hpcrob ~/gepi_git_officiel/gepi(release-1.6.1) $ git merge marc/no_stack_overflow 
 Updating e66cd62..d9ef04c 
 Fast-forward 
  lib/share.inc.php |     15 +++++++++++++-- 
 1 files changed, 13 insertions(+), 2 deletions(-) 
 12:06 steph@hpcrob ~/gepi_git_officiel/gepi(release-1.6.1) $ 

 git revert d9ef04c58 
 ============================================================