Traemos la mejor solución que hallamos en todo internet. Nuestro deseo es que te sea de mucha ayuda y si puedes aportar algún detalle que nos pueda ayudar a mejorar hazlo con libertad.
Solución:
La respuesta corta
Parece que GitHub no te permitirá comparar las ramas porque en realidad no comparten nada de la misma historia, a pesar de que pueden compartir gran parte de los mismos archivos y código.
Aquí hay una captura de pantalla de la bifurcación temporal que hice de su repositorio, donde traté de comparar master
con el upstreambranch
, como lo describiste. Observe el mensaje de error:
Dice:
No hay nada para comparar.
master
yupstreambranch
son historias de confirmación completamente diferentes.
La respuesta larga
Probablemente descargó la fuente original y la agregó a un repositorio completamente nuevo en lugar de clonar el repositorio original, ¿verdad? Hacer eso hará que la historia de su repositorio sea completamente diferente del historial del repositorio original, ya que su nuevo repositorio no tendrá ninguna de las mismas confirmaciones con las mismas ID de sha.
Puede ver que haciendo un registro inverso de su master
rama y la
upstreambranch
:
# Your first commit, see commit sha
git log --reverse master
commit c548d7b1b16b0350d7fbdb3ff1cfedcb38051397 # <== HERE
Author: Padraic Stack <[email protected]
>
Date: Wed Apr 2 15:11:28 2014 +0100
First commit of everything
# First commit sha of the original repo
git log --reverse upstreambranch
commit 105a12817234033c45b4dc7522ff3103f473a862 # <== THERE
Author: Jeremy Boggs <[email protected]>
Date: Mon Feb 22 16:00:53 2010 +0000
Creates repo directories for the Seasons theme.
Soluciones
Si rehace sus confirmaciones sobre el historial original, entonces debería poder comparar las ramas. Hay varias formas diferentes en las que puede rehacer sus confirmaciones, que incluyen
git rebase --onto
y
git cherry-pick
También puede rehacer cada confirmación manualmente, si es necesario.
Resuelvo mi problema usando estos comandos
git checkout [BRANCH]
git branch master [BRANCH] -f
git checkout master
git push origin master -f
De la rama de experimentos
git rebase master
git push -f origin
Esto crea un historial de confirmación común para poder comparar ambas ramas.
Si te animas, tienes el poder dejar una reseña acerca de qué te ha parecido esta crónica.