189 votes

git remplace la version locale par la version distante

Comment puis-je dire à git d'ignorer mon fichier local et de prendre celui de ma branche distante sans essayer de fusionner et de provoquer des conflits?

214voto

Olivier Verdier Points 12332

C'est la solution la plus sûre:

 git stash
 

Maintenant, vous pouvez faire ce que vous voulez sans crainte de conflits.

Par exemple:

 git checkout origin/master
 

Si vous souhaitez inclure les modifications à distance dans la branche principale, vous pouvez procéder comme suit:

 git reset --hard origin/master
 

Cela fera de votre branche "maître" à pointer sur "origine / maître".

54voto

sehe Points 123151

Je comprends la question comme ceci: vous voulez remplacer complètement le contenu d’un fichier (ou d’une sélection) en amont. Vous ne voulez pas affecter directement l'index (vous devez donc passer par add + commit comme d'habitude).

Il suffit de faire

 git checkout remote/branch -- a/file b/another/file
 

Si vous souhaitez effectuer cette opération pour des sous-arbres étendus et que vous souhaitez affecter directement l'index, utilisez

 git read-tree remote/branch:subdir/
 

Vous pouvez ensuite (éventuellement) mettre à jour votre copie de travail en faisant

 git checkout-index -u --force
 

5voto

Christopher Ickes Points 1663

Utiliser l' -s ou --strategy option combinée avec l' -X option. Dans votre question, vous voulez garder tous les fichiers distants, et remplacer les fichiers du même nom.

Remplacer les conflits avec la version à distance

git merge -s recursive -Xtheirs upstream/master  

va utiliser la télécommande pensions de version de tous les conflits de fichiers.

Remplacer les conflits avec la version locale

git merge -s recursive -Xours upstream/master

va utiliser le local des pensions de version de tous les conflits de fichiers.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X