logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
atelier:git-df:tp-merge [30/10/2012 13:41]
captnfab créée
atelier:git-df:tp-merge [17/05/2016 11:18]
nIQnutn [Que faire en cas de conflit ?]
Ligne 1: Ligne 1:
-===== Comment éviter les conflits, cas d'​école =====+====== Comment éviter les conflits, cas d'​école ​======
  
 +===== Utilisation du pull --rebase =====
  
 +**Cas d'​utilisation** : //J'ai fait des **comits localement** que je n'ai **pas pushés**. Des **commits ont été pushés entre temps** sur le dépôt distant. Je veux donc **rendre mes commits compatibles** avec ce qui a déjà été pushé avant de pouvoir les pusher.//
 +
 +<code bash>$ git pull --rebase
 +$ git push</​code>​
 +
 +Avec ''​git pull %%--%%rebase'',​ les commits distants sont récupérés et appliqués dans mon historique des commits. S'il n'y a pas de conflit, j'​obtiens un nouvel état dans lequel je peux pusher mes commits comme s'ils avaient été faits après les commits du dépôt distant.
 +
 +Avec ''​git push'',​ j'​envoie mes commits //​rebasés//​ sur le dépôt distant.
 +
 +===== Utilisation du stash =====
 +
 +**Cas d'​utilisation** : //J'ai fait **des modifications localement**,​ mais **pas de commits non pushés** parce que je suis au milieu de quelque chose. Cependant, **je veux faire un pull** pour récupérer les mises à jour faites sur le dépôt distant.//
 +
 +<code bash>$ git stash
 +$ git pull
 +$ git stash pop</​code>​
 +
 +Avec ''​git stash'',​ le dépôt est ramené dans l'​état du dernier commit et toutes mes modifications sont stockées sous forme de //patch//.
 +
 +Avec ''​git pull'',​ les derniers commits publiés sur le serveur sont récupérés et appliqués en local.
 +
 +Avec ''​git stash pop'',​ mon //patch// est appliqué au dépôt local mis à jour.
 +
 +===== Combinaison de stash et pull --rebase ====
 +
 +**Cas d'​utilisation** : //J'ai du **code non-commité** et des **commits non pushés**. Je veux envoyer mes commits mais pas mon code en travaux.// ​
 +
 +<code bash>$ git stash
 +$ git pull --rebase
 +$ git push
 +$ git stash pop</​code>​
 +
 +
 +===== Que faire en cas de conflit ? =====
 +
 +Dans les cas où une de ces opérations entraînerait malgré tout des conflits, il faut les résoudre à la main.
 +
 +Les conflits sont représentés dans les codes sources par des
 +<​code><<<<<<<​ version bla
 +Code de la version bla
 +======
 +code de la version bli
 +>>>>>>>​ version bli</​code>​
 +
 +À corriger à la main, à la suite de quoi, 
 +
 +  * si vous étiez en train de faire un ''​pull %%--%%rebase'',​ continuez l'​opération de ''​rebase'':​
 +<code bash>$ git rebase --continue</​code>​
 +
 +  * si vous étiez en train de faire un ''​stash pop'',​ continuez votre édition tranquillement :)
atelier/git-df/tp-merge.txt · Dernière modification: 17/05/2016 11:18 par nIQnutn

Pied de page des forums

Propulsé par FluxBB