Antecedentes:Git: duplicado se confirma después de rebase local, entonces tire
Tengo una rama de la característica A, que es una cometen por delante de mi rama de desarrollo:
3 (develop, origin/develop)
| 2 (A, origin/A) some feature branch commit
|/
1 some commit
Entonces rebase A en desarrollar (git checkout A
, git rebase develop
), por lo que me sale:
2' (A) some feature branch commit
|
3 (develop, origin/develop)
| 2 (origin/A) some feature branch commit
|/
1 some commit
Ahora ya no se puede empujar A
-origin
como G rechazará un compromiso de avance no rápido. Me dice que primero tire de los cambios remotos.
Cuando lo hago y luego empuje, que terminan con la siguiente historia:
4 (A, origin/A) merged origin/A into A
|\
2'| some feature branch commit
| |
3 | (develop, origin/develop)
| 2 (origin/A) some feature branch commit
|/
1 some commit
termino con una historia que contiene el 2
cometer dos veces - técnicamente diferentes compromete a pesar de que hacen lo mismo.
Preguntas
- ¿Cómo puedo evitar que esto suceda? ¿Cómo puedo reflejar mi operación de rebase local en el repositorio remoto?
- ¿Cómo puedo remediar esta situación? ¿Cuál sería la forma más elegante de limpiar la historia y mostrar solo una confirmación?
¿No puedes volver a desarrollar la base en A? – Mat
¿Puedes hacer una fusión de git en su lugar? –
posible duplicado de [confirmaciones de Git se duplican en la misma rama después de hacer una rebase] (http://stackoverflow.com/questions/9264314/git-commits-are-duplicated-in-the-same-branch-after-doing -a-rebase) – Whymarrh