El código falta en Github

Estamos usando JIRA y Github juntos. Ahora descubrimos que algún código que podemos ver en las inputs de JIRA ya se ha enviado a Github en algún momento anterior, y podemos hacer clic en el enlace, se dirige a Github y podemos ver los cambios que hemos realizado allí. Pero todo el código no está en nuestras sucursales actuales. E incluso voy a los proyectos locales para search el file, hago clic derecho -> mostrar logging (tortoiseGit), ese logging de input y de inserción no está en el logging … Cambié a todas las sucursales para search ese logging, pero simplemente no puedo encontrarlo en ningún lado.

Tengo el hash de confirmación, comprobé el código con ese hash, puedo ver que los cambios han vuelto, pero simplemente no está en ninguna de nuestras sucursales actuales. No sé lo que pasó, ¿alguien tuvo este problema antes, cómo puedo get todo este código de nuevo a las sucursales actuales …

Puede simplificar su búsqueda:

git branch --remote --contains <commit-id> 

(Consulte Cómo enumerar las twigs que contienen una confirmación determinada? )

Para get esos cambios, puede fusionar esa confirmación en una twig activa ( git merge <commit-id> ).

Como sugiere VonC, las rebases o la eliminación forzada son las causas más probables.

Puede suceder cuando:

  • rebase una twig, que reescribe todo el sha1 (mantiene el sha1 antiguo en sus reflogs)
  • elimina una twig (y presiona la eliminación de esa twig)
  • merge --squash una twig en (por ejemplo) master , y luego borra esa twig localmente

Si puede realizar el pago localmente con ese SHA1, al less puede crear una sucursal local a partir de dicho SHA1, y empujarlo hacia atrás.