2010-02-19 16 views
30

git status me dice que mi rama y el que yo empecé desde el otro repositorio han divergido:Ramas, aparentemente, han divergido, pero la historia es idéntica cometer

# On branch master 
# Your branch and 'origin/master' have diverged, 
# and have 13 and 13 different commit(s) each, respectively. 

pero la historia comprometerse para cada uno es idéntica. Es decir, git log muestra las mismas confirmaciones, en el mismo orden, con los mismos valores hash SHA-1. Eso es para los últimos 13 commits, y todo antes de eso también.

¡¿Qué está pasando ?! O he entendido mal algo fundamental, todo es nuevo para mí.

Es una historia bastante larga cómo llegué a este lío - ​​git-svn, cygwin, EGit, pull --rebase con conflictos espurios - pero me pregunto si es posible que esta "divergencia sin diferencias" se deba a nuevas líneas? Abrí archivos en el bloc de notas y leí mucho sobre svn/git/cygwin y CRLF, pero sin ninguna revelación.

Editar Aceptar. La mayoría de los anteriores no es realmente el problema. Tal vez no entiendo git log o algo se ha metido en algún lado ...

Tengo dos repositorios. Si voy a rep_A y ejecuto git log obtengo el mismo resultado (notablemente el mismo SHA-1) que si voy a rep_B y ejecuto git log.

En rep_A, si ejecuto git log origin/master obtengo el historial de confirmaciones diferente que espero. (Diferentes SHA-1, pero los mismos mensajes: cómo creé este lío es otra historia.)

git remote -v show me aseguran que el origen está donde espero que esté.

git log, en rep_B, no se comporta como esperaba. Es como si me estuviera dando el historial de compromiso para rep_A. ¿Qué me he perdido?

+5

¿Cómo ves el historial de confirmaciones para cada una? ¿Estás haciendo 'git log master' y' git log origin/master' o algo más? –

+0

Oh. Estaba haciendo 'git log' desde el directorio raíz de cada repositorio. Acabo de ejecutar sus comandos y los commits * son * diferentes. Phew/Doh! Claramente, no entendía lo que 'git log' estaba haciendo. Perdón por haber confundido. Solo necesita resolver cómo deshacerse de esta pregunta ahora ... –

+5

no se deshaga de la pregunta, publique una respuesta usted mismo y acéptela. Eso lo eliminará de la pestaña "Sin respuesta" y mostrará claramente la respuesta para las personas futuras con el mismo problema. Y si tu respuesta obtiene 3 votos positivos, obtienes la insignia de autoaprendizaje :) –

Respuesta

14

Parece que también olvidó actualizar repositorios remotos. Lo mismo ocurre con git remote update en rep_A (probablemente advierta que no se trata de una actualización de avance rápido ya que parece que se hace una rebase en ambos extremos) y los historiales deben ser idénticos.

+0

¡Gracias! Sí, eso fue todo. Todavía estoy aprendiendo Git, y no entendía sobre las sucursales de seguimiento remoto. P.ej. ver http://www.gitready.com/beginner/2009/03/09/remote-tracking-branches.html –

Cuestiones relacionadas