Outils pour utilisateurs

Outils du site


environnement_prog_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
Prochaine révisionLes deux révisions suivantes
environnement_prog_git [2009/12/14 16:17] thierryenvironnement_prog_git [2010/07/27 16:42] thierry
Ligne 201: Ligne 201:
  
 La réponse est là: http://git.or.cz/gitwiki/GitFaq#Whywon.27tIseechangesintheremoterepoafter.22gitpush.22.3F La réponse est là: http://git.or.cz/gitwiki/GitFaq#Whywon.27tIseechangesintheremoterepoafter.22gitpush.22.3F
 +
 +En résumé: la mise a jour n'est pas faite a cause des conflits toujours possibles avec les modifications faites en local. Sinon, voir "post-update hook" and Co.
 +
 +| :!: en fait, il faut utiliser une repository "bare" (voir plus loin) , qui peut être modifier a loisir sans risque d'interference local |
 +
  
 === origin === === origin ===
Ligne 212: Ligne 217:
     Tracked remote branch     Tracked remote branch
       master       master
 +
 +=== bare ===
 +
 +voir "git-clone --bare" pour creer un "pur" repository .
 +
 +Lien: http://www.moroblog.info/Git-via-ssh.html
 +
 +Vite dit:
 +  Soit un repository classique dans "./myproject"
 +
 +On clone avec "bare", ca créé un repertoire de données git.
 +  $ git-clone --bare ./myproject ./myprojet.git
 +
 +On peut maintenant venir tirer et pousser des documents dans "./myprojet.git".
 +
 +Il n'y a pas de risque de conflit sur le repertoire de travail (avec les documents) puisqu'il n'existe pas.
 +
 +Cela permet de travail **vraiment** sur un repository a partir de plusieurs sites, y compris en local. (mais toujours en usant de "git-pull git-commit git-push" and so on)
 +
  
 ==== exclude ==== ==== exclude ====
Ligne 244: Ligne 268:
  
 On veut "fusionner" 2 partie d'un même projet, mais qui ce sont developpé independament. On veut "fusionner" 2 partie d'un même projet, mais qui ce sont developpé independament.
 +
 +
 +| :!: Par sécurité, j'ai fait ça dans un **''clone''** . Ce n'est que tout à la fin, une fois satisfait du résultat, que j'ai fait un **''push''** |
  
 Dans le répertoire du projet receveur: Dans le répertoire du projet receveur:
  
-  $ git-remote add <un_nom_de_projet> <chemin_repo>+  $ git-remote add -f <un_nom_de_projet> <chemin_repo> 
 +( ''git-remote show'' peut maintenant nous montrer ce nom de projet) 
 +  $ git-merge -s ours --no-commit <un_nom_de_projet>/master 
 +  Automatic merge went well; stopped before committing as requested
   $ git-read-tree --prefix=<subdir/> -u <un_nom_de_projet>/master   $ git-read-tree --prefix=<subdir/> -u <un_nom_de_projet>/master
 +( les fichiers sont là, mais les logs ne sont pas à jour... )
   $ git-commit -a -m "fusion avec <un_nom_de_projet>"   $ git-commit -a -m "fusion avec <un_nom_de_projet>"
   $ git-pull -s subtree <un_nom_de_projet> master   $ git-pull -s subtree <un_nom_de_projet> master
 +( les logs contiennent aussi ceux du projet importé... )
 +
 +Et comme on a plus besoin du "remote"...
   $ git-remote rm <un_nom_de_projet>   $ git-remote rm <un_nom_de_projet>
 +
 Et voila. Et voila.
  
 +"<subdir>" peut être "<un_nom_de_projet>".
 +
 +==== publier son git ====
  
 +Lien: http://www.bluishcoder.co.nz/2007/09/how-to-publish-git-repository.html
  
environnement_prog_git.txt · Dernière modification : 2012/04/05 08:45 de thierry