TL; DR;
git pull --rebase --autostash
-r, --rebase[=false|true|merges|preserve|interactive]
When true, rebase the current branch on top of the upstream branch after
fetching. If there is a remote-tracking branch corresponding to the upstream
--autostash, --no-autostash
Before starting rebase, stash local modifications away if
needed, and apply the stash entry when done
Je ne sais pas pourquoi cela n'est pas encore répondu, mais la solution, comme vous pouvez le voir, est simple. Toutes les réponses ici suggèrent la même chose: pour supprimer / enregistrer vos modifications locales et appliquer en amont, puis (si voussave
) appliquez vos modifications locales par-dessus.
Que git pull --rebase --autostash
fait étape par étape:
1. your local changes saved by `--autostash`
2. your local commits saved by `--rebase`
3. commits from upstream applied to your branch
4. your local commits are restored on top of upstream
5. your local changes are restored to working directory
Mon cas (probablement le vôtre aussi):
J'ai des changements locaux (changements dans le répertoire de travail):
Lorsque j'essaie de tirer des modifications à distance, j'obtiens une erreur:
Ces changements n'entrecoupent pas les changements locaux:
Donc, lorsque je pull --rebase --autostash
change localement les modifications enregistrées et appliquées sans aucun problème automatiquement
Maintenant, mes changements locaux sont légèrement inférieurs: