OK, je pensais que c'était un simple git scénario, ce qui me manque?
J'ai un master
de la branche et un feature
de la branche. Je fais un peu de travail sur master
, certains sur feature
, puis un peu plus sur l' master
. Je me retrouve avec quelque chose comme ceci (ordre lexicographique implique ordre de commits):
A--B--C------F--G (master)
\
D--E (feature)
Je n'ai pas de problème à l' git push origin master
pour garder la télécommande master
mise à jour, ni avec git push origin feature
(lorsque sur feature
) afin de maintenir une sauvegarde à distance pour mon feature
de travail. Jusqu'à maintenant, nous sommes bons.
Mais maintenant je veux rebase feature
sur le haut de la F--G
s'engage sur le master, donc j' git checkout feature
et git rebase master
. Encore bonne. Maintenant, nous avons:
A--B--C------F--G (master)
\
D'--E' (feature)
Problème: le moment, je veux faire un backup de la nouvelle relocalisée feature
ramifiée avec git push origin feature
, le push est rejeté car l'arbre a changé en raison de l'année de référence. Ce ne peut être résolu avec l' git push --force origin feature
.
Je déteste l'aide d' --force
sans en être sûr j'en ai besoin. Donc, ai-je besoin? Le rebasage nécessairement impliquer que le prochain push
devrait être --force
ful?
Cette branche n'est pas partagée avec les autres devs, donc je n'ai aucun problème de facto avec l'forcé de pousser, je ne vais pas perdre toutes les données, la question est plus conceptuel.