{"id":9276,"date":"2019-03-27T10:48:57","date_gmt":"2019-03-27T09:48:57","guid":{"rendered":"https:\/\/perdiendo.org\/museodemetralla\/?p=9276"},"modified":"2019-03-27T11:07:09","modified_gmt":"2019-03-27T10:07:09","slug":"git-y-los-tres-estados","status":"publish","type":"post","link":"https:\/\/perdiendo.org\/museodemetralla\/?p=9276","title":{"rendered":"git y los tres estados"},"content":{"rendered":"<p>Git toma <em>instant\u00e1neas<\/em> de tus documentos a las que posteriormente puedes volver si lo necesitas. Incrementa las versiones a\u00f1adiendo s\u00f3lo los cambios, por lo que cada <em>foto<\/em> no pesa el total de su contenido, sino s\u00f3lo en lo que difiere de la anterior. Si un archivo no se ha modificado git no lo guarda de nuevo, sino que incluye un enlace al archivo anterior.<\/p>\n<p>De momento los comandos a los que ir\u00e9 aludiendo no son importantes, ya los explicar\u00e9 m\u00e1s adelante y s\u00f3lo los menciono para que se vayan asociando mentalmente.<\/p>\n<ol>\n<li>Confirmado (commited). El archivo ha sido a\u00f1adido a una instantanea.<\/p>\n<\/li>\n<li>\n<p>Modificado (modified). El archivo ha sido modificado desde la \u00faltima instant\u00e1nea.<\/p>\n<\/li>\n<li>\n<p>Preparado (staged). El archivo est\u00e1 preparado para entrar en una nueva instant\u00e1nea, pero no lo ha hecho todav\u00eda.<\/p>\n<\/li>\n<\/ol>\n<p>T\u00fa inicias un proyecto con un par de archivos. En el ejemplo una novela, que consta del archivo ficha.md y novela.md. En ese momento los archivos est\u00e1n fuera de git, ya que no se se le ha indicado que tiene que hacerles seguimiento. Una vez que est\u00e9n como queremos para una primera instant\u00e1nea, utilizaremos git add ficha.md, git add novela.md o simplemente git add . para incluirlos.<\/p>\n<p>En ese momento los archivos estar\u00e1n en el tercer estado, preparados para la instant\u00e1nea. Podemos seguir trabajando sobre ellos, pero si no volvemos a a\u00f1adirlos con add al guardar la instant\u00e1nea se guardar\u00e1n tal y como estaban cuando utilizamos el git add.<\/p>\n<p>As\u00ed, un mismo archivo puede estar en tres estados diferentes a la vez, y lo utilizaremos seg\u00fan nos convenga. Habr\u00e1 una versi\u00f3n del archivo commited que ser\u00e1 la que guardamos la \u00faltima vez, otra versi\u00f3n stagged con los cambios que hemos ido haciendo hasta el objetivo que queremos que sea nuestra siguiente instant\u00e1nea y modificado con el comienzo de los siguientes cambios.<\/p>\n<p>Pongamos que el primer cambio importante que queremos registrar en instant\u00e1neas es, simplemente, cuando colocamos la ficha est\u00e1ndar que utilizamos para la historia y los personajes, que es ficha.md. En ese caso, una vez metida en la carpeta la marcamos como preparada con git add ficha.md y git commit con la descripci\u00f3n, por ejemplo, \u00abficha insertada\u00bb. Despu\u00e9s de hacerlo empezamos a trabajar el primer personaje en ella, y cuando terminamos lo marcamos con git add y seguimos con el siguiente personaje porque estamos inspirados. En ese caso tendr\u00edamos una instantanea con la ficha vac\u00eda, el mismo archivo preparado con la descripci\u00f3n del primer personaje y el mismo archivo modificado con la descripci\u00f3n del segundo personaje.<\/p>\n<p>Para no perder nada har\u00edamos commit con el comentario \u00abdescripci\u00f3n primer personaje\u00bb, volver\u00edamos a hacer git add para cambiar la parte del archivo modificado a preparado y har\u00edamos un nuevo commit con el mensaje \u00abdescripci\u00f3n segundo personaje\u00bb.<\/p>\n<p>No es que ese tenga que ser el modo de trabajar, son s\u00f3lo las distintas opciones. Podemos hacer una instant\u00e1nea cuando hayamos terminado algo, seguir modificando hasta llegar a un punto que nos interese guardar y en ese mismo momento prepararlo (add) y fotografiarlo (commit).<\/p>\n<p>Las tres grandes secciones de un proyecto git son, respectivamente:<\/p>\n<ol>\n<li>El directorio de git donde se guardan las instant\u00e1neas.<\/p>\n<\/li>\n<li>\n<p>El area de trabajo, que es d\u00f3nde estamos haciendo cambios.<\/p>\n<\/li>\n<li>\n<p>El \u00e1rea de preparaci\u00f3n, que es donde est\u00e1n los archivos fijados para la siguiente instant\u00e1nea.<\/p>\n<\/li>\n<\/ol>\n<p>Una vez fijada la \u00faltima, cuando sigamos haciendo cambios los archivos que toquemos estar\u00e1n en el \u00e1rea de trabajo, y los que preparemos para el siguiente fijado estar\u00e1n en al \u00e1rea de preparaci\u00f3n. Para que un archivo pase a estar modificado s\u00f3lo tenemos que modificarlo desde la \u00faltima instant\u00e1nea, para prepararlo tenemos que hacer git add sobre \u00e9l y para fijarlo git commit.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Git toma instant\u00e1neas de tus documentos a las que posteriormente puedes volver si lo necesitas. Incrementa las versiones a\u00f1adiendo s\u00f3lo los cambios, por lo que cada foto no pesa el total de su contenido, sino s\u00f3lo en lo que difiere de la anterior. Si un archivo no se ha modificado git no lo guarda de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61],"tags":[],"class_list":["post-9276","post","type-post","status-publish","format-standard","hentry","category-git"],"_links":{"self":[{"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/posts\/9276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9276"}],"version-history":[{"count":0,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=\/wp\/v2\/posts\/9276\/revisions"}],"wp:attachment":[{"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/perdiendo.org\/museodemetralla\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}