¿Los lockings de agregar git add se envían al repository maestro?

Podemos recuperar files, que una vez fueron agregados (pero no confirmados) y luego eliminados usando git reset –hard. Consulte Recuperación del file agregado después de hacer la restauración de git –hard HEAD ^

Cuando introducimos nuestros cambios en algún repository en sentido ascendente, ¿se insertan estos blobs?

Context: al realizar cualquier desarrollo, de vez en cuando hago un git add en los files modificados, pero no los comprometo. Esta vez, hice un git add con algunas cnetworkingenciales de API críticas, y me preguntaba si podrían recuperarse de los loggings si alguna vez abrí el repository / gem.

No, las manchas que no se cometieron (o se presionaron explícitamente) nunca se transmiten por cable.

Si agregaste files y nunca los cometiste, se eliminarán con la próxima llamada a git gc . Sin embargo, si los cometió y luego eliminó la confirmación de nuevo (por ejemplo, a través de git rebase o git reset), no se recostackrán porque pueden accederse a través del reflog de Git. Pero el reflog es un mecanismo local y no se publicará con git push .

Git solo transfiere objects vinculados entre sí, comenzando con algún object de confirmación.

Dado que solo es posible enviar objects de commit (no importa si los nombra directamente usando sus nombres SHA-1 o indirectamente a través de brahch o nombres de tags), Git transfiere commits, y cada commit se refiere a un solo object de tree , que representa la raíz del repository, que a su vez se refiere a blobs (que representan los contenidos de files individuales) y otros treees.

De modo que solo los objects accesibles desde el object del tree raíz se transfieren junto con la confirmación que se refiere a ese object del tree; esto se hace para cada compromiso que se transfiere al repository remoto. Los objects colgantes por definición no son accesibles, por lo que no se transfieren.