Outils pour utilisateurs

Outils du site


linux:memo_git

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
linux:memo_git [23/05/2012 19:04] – Tip & tricks daniellinux:memo_git [25/05/2012 00:24] – apostrophe en commentaire virée pour la coloration daniel
Ligne 94: Ligne 94:
  
 Les ligne qui commencent par "#>"  correspondent à la sortie de la commande précédente, pour permettre de copier/coller tout en console sans avoir de tri à faire Les ligne qui commencent par "#>"  correspondent à la sortie de la commande précédente, pour permettre de copier/coller tout en console sans avoir de tri à faire
 +
 +
  
 ==== Un local, plusieurs distants ==== ==== Un local, plusieurs distants ====
Ligne 99: Ligne 101:
 J'essaie ici d'avoir un dépôt local avec différentes branches qui suivent chacune son dépôt distant, mais le tracking marche pas comme ce que j'avais compris (testé en debian squeeze, avec git 1.7.2.5). J'essaie ici d'avoir un dépôt local avec différentes branches qui suivent chacune son dépôt distant, mais le tracking marche pas comme ce que j'avais compris (testé en debian squeeze, avec git 1.7.2.5).
  
 +Voici ce que j'ai fait (un seul serveur ici, mais si ça marche pour A...)
 <code bash> <code bash>
-# on créé 2 bare repository (nos remote en fait en local pour cet exemple) +mkdir serveurA 
-mkdir serveurA serveurB+
 cd serveurA/ cd serveurA/
-git init --bare  +h=$(basename $(pwd)); touch $h a c; echo $h > c; 
-cd ../serveurB/ +git init --bare
-git init --bare +
  
-clones (pour vérifier que ce que le push sur les serveurs est bien ce qui est attendu)+un clones (pour vérifier que le push sur les serveurs est bien ce qui est attendu)
 cd .. cd ..
 git clone serveurA cloneA git clone serveurA cloneA
-git clone serveurB cloneB 
 # et aussi pour le peuplement initial # et aussi pour le peuplement initial
 cd cloneA cd cloneA
Ligne 117: Ligne 117:
 git commit -a -m "1er commit $h" git commit -a -m "1er commit $h"
 git push origin master git push origin master
-cd ../cloneB + 
-h=$(basename $(pwd)); touch $h c2; echo $h > c2; +
-git add . +
-git commit -a -m "1er commit $h" +
-git push origin master +
 # et un dépôt local # et un dépôt local
 cd .. cd ..
Ligne 134: Ligne 129:
 # ça nous a créé une branche master, mais on veut la nommer autrement pour pas confondre avec ceux des remote # ça nous a créé une branche master, mais on veut la nommer autrement pour pas confondre avec ceux des remote
 # et éviter d′éventuel push/pull non désiré entre ce ce master local et les remote # et éviter d′éventuel push/pull non désiré entre ce ce master local et les remote
-git branch -m master local +git branch -m master commun 
- +  
-on créé 2 alias pour nos serveurs+un alias pour le serveur
 git remote add remoteA ../serveurA master git remote add remoteA ../serveurA master
-git remote add remoteB ../serveurB master + 
 # une branche que l′on va synchroniser avec le serveur A # une branche que l′on va synchroniser avec le serveur A
-git checkout --track -b brancheA remoteA/master +git fetch remoteA                               # => 1er fetch donc créé la "branche" remoteA/master
-#>fatal: git checkout: updating paths is incompatible with switching branches. +
-#>Did you intend to checkout 'remoteA/master' which can not be resolved as commit? +
- +
-# OK, faut d′abord se mettre à jour +
-git fetch remoteA # => créé la "branche" (read only) remoteA/master+
 git checkout --track -b brancheA remoteA/master # => créé la branche brancheA en lien avec remoteA/master git checkout --track -b brancheA remoteA/master # => créé la branche brancheA en lien avec remoteA/master
 + 
 # on modifie un fichier # on modifie un fichier
 echo  "mod 1" > cloneA echo  "mod 1" > cloneA
Ligne 158: Ligne 147:
 git push remoteA brancheA:master git push remoteA brancheA:master
 # ça push mieux # ça push mieux
-#> ... +# 2e modif pour voir si ça track mieux maintenant qu′on lui a montré
-#> To ../serveurA +
-#>    bddaf54..3b00bff  brancheA -> master +
-# 2e modif pour voir si ça track mieux+
 echo  "mod 2" >> cloneA echo  "mod 2" >> cloneA
 git commit -m "mod 2" cloneA git commit -m "mod 2" cloneA
Ligne 167: Ligne 153:
 # tj rien :-S, et avec -u ? # tj rien :-S, et avec -u ?
 git push -u remoteA brancheA:master git push -u remoteA brancheA:master
-#> ça push et ça track 
 #> [...] #> [...]
 #> To ../serveurA #> To ../serveurA
 #>    3b00bff..cb44c59  brancheA -> master #>    3b00bff..cb44c59  brancheA -> master
 #> Branch brancheA set up to track remote branch master from remoteA. #> Branch brancheA set up to track remote branch master from remoteA.
 +# ça parait pourtant clair, mais
 echo  "mod 3" >> cloneA echo  "mod 3" >> cloneA
 git commit -a -m "mod 3" git commit -a -m "mod 3"
linux/memo_git.txt · Dernière modification : 21/12/2012 11:23 de daniel