297 votes

git, Forcer l'écrasement du fichier local avec ce qui est dans le repo d'origine ?

Je veux obtenir le dernier fichier qui est dans le dépôt, et écraser ce que j'ai localement.

comment puis-je faire cela avec git ?

575voto

Amber Points 159296

Si vous voulez écraser un seul fichier :

git fetch
git checkout origin/master <filepath>

Si vous voulez écraser tous les fichiers modifiés :

git fetch
git reset --hard origin/master

(Cela suppose que vous travaillez sur master localement et que vous voulez que les changements sur le serveur d'origine master - si vous êtes sur une branche, substituez-le à la place).

0 votes

Cela a fait le contraire. Il a écrasé le référentiel avec mes fichiers locaux par erreur.

2 votes

git fetch git reset --hard origin/master ou /<branch name>

0 votes

C'est génial... C'est exactement ce que je cherchais. Merci

40voto

J.M. Janzen Points 527

La version la plus simple, en supposant que vous travaillez sur la même branche que celle où se trouve le fichier que vous voulez :

git checkout path/to/file .

Je fais ça si souvent que j'ai un alias qui s'appelle gc='git checkout' .

15voto

user3067802 Points 71

Cela a marché pour moi :

git reset HEAD <filename>

11voto

Je crois que ce que vous cherchez est "git restore".

Le plus simple est de supprimer le fichier localement, puis d'exécuter la commande git restore pour ce fichier :

$ rm file.txt
$ git restore file.txt

5voto

chandpriyankara Points 909

La synchronisation complète comporte peu de tâches :

  • annuler les changements
  • suppression des nouveaux fichiers
  • obtenir la dernière version du référentiel distant

git reset HEAD --hard

git clean -f

git pull origin master

Ou bien, ce que je préfère, c'est que je crée une nouvelle branche avec la dernière version de l'utilisation à distance :

git checkout origin/master -b <new branch name>

origin est la référence de mon dépôt distant, et master est le nom de ma branche considérée. Ils peuvent être différents des vôtres.

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