<div dir="ltr">No, git no guarda una copia de todo. Trabaja independientemente por ficheros. Eso sí, los ficheros son enteros (no guarda diffs de cada cambio)<div><br></div><div style>Cada fichero lleva su SHA asociado (hash del contenido) y el nombre del fichero. Es por eso que cuando renombras un fichero se "da cuenta", porque ve que el SHA coincide.</div>

<div style><br></div><div style>Cada SHA es guardado sólo una vez, ya que siempre se puede recuperar (o enlazar a diferentes archivos, si se hacen copias), pero git trabaja siempre a nivel de archivo completo. De esa manera, es más difícil de corromper que "reconstruir" un fichero de texto a base de diffs, en el momento que algo no cuadra, todo el sistema te avisa de que hay un fallo en los SHA...</div>

<div style><br></div><div style>    Jaime</div></div><div class="gmail_extra"><br clear="all"><div>---<br>Check my blog!<br><a href="http://wrongsideofmemphis.wordpress.com">http://wrongsideofmemphis.wordpress.com</a></div>


<br><br><div class="gmail_quote">2013/3/1 Angel García Cuartero <span dir="ltr"><<a href="mailto:anhelido@gmail.com" target="_blank">anhelido@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On 01/03/2013 22:09, <a href="mailto:piranna@gmail.com" target="_blank">piranna@gmail.com</a> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
En Git todo son archivos completos (la forma mas simple de hacer un<br>
sistema de versiones es hacer una copia de todo el directorio y<br>
ponerle una fecha, y asi es como surgio Git:-D  ), lo cual me ha<br>
permitido hacer autenticas barrabasadas de copiar archivos y moverlos<br>
y sobreescribirlos a mano y arreglar los repositorios sin problemas.<br>
Aparte, como no hay una historia clara como en Mercurial o SVN<br>
(Mercurial realmente es una evolucion distribuida de SVN, de ahi lod<br>
IDs de revision que Git no tiene)<br>
</blockquote></div>
A ver, yo no soy muy espabilao ni tengo casi experiencia en git, pero creo que una cosa es que un commit suponga una foto de todo el árbol de ficheros y otra que sea una copia. Si esto fuera así el tamaño de todos los repositorios de git creados alguna vez en la historia ocuparían 100 pársecs cúbicos en discos duros (por poner una cantidad de volumen a ojo). Yo pensé que guardaba diferenciales (deltas). Y creo que cada commit tiene un ID de 40 caracteres, no sé si es lo que comentas con ID de revisión.<span class="HOEnZb"><font color="#888888"><br>


<br>
-- <br>
- Angel -</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
Madrid mailing list<br>
<a href="mailto:Madrid@lists.es.python.org" target="_blank">Madrid@lists.es.python.org</a><br>
<a href="https://lists.es.python.org/listinfo/madrid" target="_blank">https://lists.es.python.org/<u></u>listinfo/madrid</a></div></div></blockquote></div><br></div>