Outils pour utilisateurs

Outils du site


dev:git:depot-distant

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
dev:git:depot-distant [2015/07/10 08:09] yoanndev:git:depot-distant [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-{{tag>git}}+{{tag>git dev depot}}
  
-====== Travailler avec dépot distant ======+====== Les dépôts distants ====== 
 + 
 +Git est un gestionnaire de révision **distribué**. Il intègre donc des mécanismes de synchronisation entre dépots. Un même projet peut être lié à plusieurs dépôts distants, ce sont d'autre version du même projet disponible sur le réseau/Internet. Collaborer avec d'autre personne consiste à gérer ces dépôts distants. 
 + 
 + 
 + 
 +====Lister les dépôts ===== 
 + 
 +Lorsqu'on clone un projet git via la commande **git clone**, git garde une référence vers celui-ci c'est la référence **origin**.
  
-Lorsqu'on clone un dépôt distant, git garde une référence vers celui-ci c'est la référence **origin**. 
 <code bash> <code bash>
 $ git clone ssh://user@host:port/path/to/git-project.git $ git clone ssh://user@host:port/path/to/git-project.git
 </code> </code>
  
-Pour consulter ces références:+<note> 
 +Par convention on désigne par **origin** un dépôt vers lequel on publie ses propres changements. On utilise **upstream** pour désigner le dépôt de référence du projet. 
 +</note> 
 + 
 +On utilise la commande **git remote** pour afficher les références vers les dépôts distants, l'option **-v** permet d'afficher l'URL: 
 <code bash> <code bash>
 $ git remote -v $ git remote -v
 </code> </code>
  
 +===== Ajouter un dépôt ====
 +
 +<code bash>
 +$ git remote add ref url
 +</code>
 +
 +===== Récupérer =====
 +
 +Pour récupérer l'ensemble des modifications apparues sur le dépôt distant sans modifier l'espace de travail, on utilise la commande **git fetch**: 
 +
 +<code bash>
 +$ git fetch origin
 +</code>
 +
 +Pour récupérer également les tags associés utiliser l'argument %%--tag%%
 +Toutes les nouvelles données et les branches du dépôt distant sont récupérées dans le dépot git local mais les modifications ne sont pas intégrées aux branches locales.
 +
 +<code bash>
 +$ git fetch --tags
 +</code>
 +
 +<note>
 +**git fetch** ne fait aucune fusion des branches origines sur les branches locales. C'est le développeur qui fait le choix de la façon dont il intègre les modifications distantes à sa copie locale(fusion, cherry-pick ou pas).
 +</note>
 +
 +Pour fusionner automatiquement les modifications apportées sur les branches distantes, elles doivent être configurées comme suivies, on utilisera alors la commande **git pull**. **git pull** (tirer) permet de récupérer et d’intégrer automatiquement (si c'est possible) les modifications apportées à la branche distante sur la branche locale. Pour avoir le détail des branches suivies, et donc des actions de git pull utiliser la commande **git remote show**:
 +
 +<code bash>
 +$ git remote show origin
 +</code>
 +
 +<note>
 +Lorsqu'on clone un dépôt, la branche locale master est automatiquement configurée en suivi de la branche distante master si elle existe.
 +</note>
 +
 +
 +
 +===== Pousser le travail local =====
 +
 +Une fois les modifications apportées sur le dépôt local, après commits, on pousse sur le dépôt distant les nouvelles révisions pour les partager:
  
-Une fois les modifications apportées sur le dépot local, après commit, on pousse sur le dépot distant les nouvelles révisions: 
  
 <code bash> <code bash>
 $ git push origin master $ git push origin master
 </code> </code>
 +
 +<note>
 +Avant de publier les changements avec push, faire toujours un pull afin de s' assurer que le dépôt local est à jour et garanti que l'ajout des révisions sur le dépôt distant ne génère pas de problème.
 +</note>
 +
 +===== Renommer retirer =====
 +
 +Pour renommer une référence sur un dépôt distant, utiliser **git remote rename**:
 +
 +<code bash>
 +$ git remote rename origin distant
 +</code>
 +
 +On peut également supprimer l'un des dépôts distant s'il n'est plus utilisé:
 +
 +<code bash>
 +$ git remote rm test
 +</code>
 +
 +===== Références =====
 +
 +  * Pro Git, seconde édition de Scott Chacon et Ben Straub
dev/git/depot-distant.1436515751.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)