*Ceci est l'une de ces questions "est-ce une bonne idée?" que je ne peux pas vraiment formater en une question acceptable pour SO mais....
Je ne suis toujours pas à 100% à l'aise avec git, en particulier fusionner avec des branches distantes. Si quelque chose ne va pas ou si je veux simplement abandonner un tas de conflits de fusion, j'ai généralement du mal à revenir en arrière sur les fusions/commits. Je me retrouve toujours plus profondément dans le trou du lapin pour ainsi dire. Je me demande, ne serait-il pas plus facile de créer une branche juste pour effectuer la fusion distante et ensuite fusionner localement la branche temporaire avec ma "vraie" branche"? De cette façon, je pourrais toujours annuler la branche temporaire si quelque chose se passait mal.
MISE À JOUR : Je m'intéresse spécifiquement à quand ma branche distante ajoutera un tas de fichiers à mon dépôt. Par exemple (en utilisant l'exemple de Peter ci-dessous) :
Je fais cela :
$ git init
Dépôt Git vide initialisé dans /chemin/vers/dépôt/.git/
$ touch README
$ git add README
$ git commit -m 'Commit initial'
[master (commit racine) da9886d] Commit initial
0 fichiers changés
mode crée 100644 README
$ touch A
$ git add A
$ git commit -m 'Ajout A'
[master 3480a5b] Ajout A
0 fichiers changés
mode créé 100644 A
$ git push // poussé vers distant (un seul fichier, A)
Ensuite un autre développeur fait ceci :
$ git clone
$ touch B
$ git add B
$ git commit -m 'Ajout B'
[foo 9912a23] Ajout B
0 fichiers changés
mode crée 100644 B
$ git push // poussé vers distant (maintenant a deux fichiers A et B)
Si je fais ensuite ceci :
$ git pull
J'aurai deux fichiers A et B. Maintenant si je veux "revenir en arrière" et annuler la fusion :
$ git reset --hard master@{...}
Le fichier B existera toujours sur ma machine en tant que fichier non suivi, n'est-ce pas? Comment puis-je revenir en arrière et supprimer ces fichiers comme si je n'avais JAMAIS fait la fusion git ?
C'est pourquoi j'espérais créer une branche séparée. Si je crée une branche distincte pour effectuer la fusion :
$ git checkout -b brancheTemporairePourFusion
$ git pull
Je me retrouve toujours avec les fichiers A et B mais ils existent seulement sur brancheTemporairePourFusion. Si quelque chose tourne mal, je devrais pouvoir faire cela :
$ git checkout master
$ git branch -d brancheTemporairePourFusion
n'est-ce pas ? Cela supprimera le fichier B.