Rebase multiple se funde en los mismos files

Soy bastante nuevo en GIT pero entendí los conceptos básicos bastante bien. Sin embargo, me siento confundido …

Estamos usando github, y mi twig estaba 13 adelante y 20 detrás de la twig principal (tan desactualizada).

Hice lo siguiente:

git checkout myBranch git rebase master 

Parece que he fusionado los mismos files repetidamente por alguna razón.

Supongo que es porque estoy aplicando mis cambios a cada una de las diferentes versiones que se han comprometido en la twig principal.

Esto llevó bastante time, y cuando terminé, asumí que podría simplemente empujar mi (ahora, afortunadamente, actualizada) twig a Github. Pero me dice que tengo cambios rápidos no rápidos, que no entiendo …

Entonces hago un pull, y git me dice que tengo que fusionar todos los mismos files otra vez …

Debo estar perdiendo algo fundamental en mi comprensión de lo que está sucediendo aquí.

Esencialmente, rebase remueve temporalmente sus confirmaciones, las almacena como parches, obtiene el encabezado del maestro y luego vuelve a aplicar sus parches.

Aquí hay un website que explica qué git rebase es suculento: http://book.git-scm.com/4_rebasing.html .

TEN CUIDADO: ¡ Aquí hay dragones! http://vectorya.com/freevectors/vector-cartoons/dragon-baby-green/

Si está absolutamente seguro de que no habrá problemas, puede ignorar el error y ejecutar git push --force . SIN EMBARGO, corre el riesgo de romper el repository central . No recomendado por Github – http://help.github.com/remotes/ Busque la sección Dealing with “non-fast-forward” errors

O para tratar de resolver primero extraer y luego empujar – git pull origin master luego git push origin master

Una opción sería usar git merge lugar de rebase . git pull origin master Master para actualizar el master. Ha habido debates en la comunidad sobre rebase vs merge y cada uno tiene sus pros y sus contras.

Para evitar la duplicación del contenido, los artículos que cubren el mismo tema – http://softwareswirl.blogspot.com/2009/04/truce-in-merge-vs-rebase-war.html , flujo de trabajo de Git y rebase vs fusión de preguntas y http : //www.randyfay.com/node/89 .

Ejemplos de fusión en master:

  • git checkout master y luego git merge mybranch

Para combinar maestro en mybranch y luego fusionar en maestro

  • git checkout mybranch y luego git merge master
  • git checkout master y luego git merge mybranch