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 twig distante sans essayer de fusionner et de provoquer des conflits?

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 twig principale, vous pouvez effectuer les opérations suivantes:

 git reset --hard origin/master 

Cela vous fera twigr “master” pour pointer vers “origine / master”.

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

Simplement faire

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

Si vous voulez faire cela pour des sous-arbres étendus et que vous souhaitez plutôt affecter l’index directement, utilisez

 git read-tree remote/branch:subdir/ 

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

 git checkout-index -u --force 

Je crois comprendre que, par exemple, vous avez mal enregistré un fichier que vous avez mis à jour à des fins de test uniquement. Ensuite, lorsque vous lancez “git status”, le fichier apparaît comme “Modified” et vous dites quelques mots incorrects. Vous voulez juste récupérer l’ancienne version et continuer à travailler normalement.

Dans ce scénario, vous pouvez simplement exécuter la commande suivante:

 git checkout -- path/filename 

Utilisez l’option -s ou --strategy associée à l’option -X . Dans votre question spécifique, vous souhaitez conserver tous les fichiers distants et remplacer les fichiers locaux du même nom.

Remplacer les conflits avec la version distante

 git merge -s recursive -Xtheirs upstream/master 

utilisera la version repo distante de tous les fichiers en conflit.

Remplacer les conflits par la version locale

 git merge -s recursive -Xours upstream/master 

utilisera la version repo locale de tous les fichiers en conflit.

Je voudrais vérifier le fichier distant du “master” (le repository distant / d’origine) comme ceci:

 git checkout master  

Exemple: git checkout master components / indexTest.html