Supposons que je la situation suivante:git-rebase: Converge deux branches divergeant/dépôts
Il y a un principal référentiel de l'utilisateur Foo. La barre d'utilisateur forks ce référentiel, donc les deux référentiels sont synchronisés. Maintenant, l'utilisateur Bar implémente une fonctionnalité et crée une branche locale appelée "barbranche". Au moment où l'utilisateur Bar a fini d'implémenter une fonctionnalité, Foo s'est engagé et a poussé quelque chose dans le référentiel principal. Donc, fondamentalement, la situation ressemble à ceci:
A---B---C---D main repository
\
E forked repository (where C=E)
\
F barbranch on forked repository
Maintenant, comment peut-on revenir à la normale dans le repo de l'utilisateur Foo?
Naïvement je dirais:
# switch to the local master and merge barbranch into it
git checkout master
git pull
git pull upstream
git push
git merge barbranch
# merge conflicts occur
vi somefile
git commit -a
git rebase origin master
# this conflict occurs again
vi somefile
git commit -a
git status # says I'm on (no branch) ?!
git push
g it checkout master
# conflict occurs again!
vi somefile
git commit -a
git push
# send merge request to user Foo
Enfin cela me donne trois engage laid au lieu d'un. J'ai trouvé git rebase --onto ...
. Bien que je ne peux pas comprendre ce que le commandement exact serait et tout ce processus ressemblerait à la fin.
Merci, oui je veux la version "linéarisé". Juste pour clarifier: Est-ce que cela importe sur quelle branche je fais «git fetch upstream»? Chaque étape de "résoudre les conflits + commits" est à la fin 'vi quelquechose; git commit -a', n'est-ce pas? – user694971
Vous pouvez aller chercher de partout. Résoudre les conflits = ("vi" + "git add resolved_file") pour chaque fichier de conflit + un "commit git" final. De cette façon, c'est mieux quand plusieurs fichiers sont en conflit: vous pouvez savoir à chaque fois quels fichiers de conflits ne sont pas encore résolus avec "git status". –
C'est vraiment bizarre, je reçois des messages comme [this] (http://pastebin.com/NFirzz6g). Bien que cette branche ait été créée avant que le patch de la question ait été accepté ... – user694971