{"id":15,"date":"2009-02-22T02:53:23","date_gmt":"2009-02-22T05:53:23","guid":{"rendered":"http:\/\/santiagodebus.com\/?p=15"},"modified":"2009-02-22T02:53:23","modified_gmt":"2009-02-22T05:53:23","slug":"usando-git-para-manejar-un-sitio-web","status":"publish","type":"post","link":"https:\/\/santiagodebus.com\/?p=15","title":{"rendered":"Usando Git para manejar un sitio web"},"content":{"rendered":"<p>Subir por FTP es antiguo y arriesgado. Esta simple guia de\u00a0<a href=\"https:\/\/git-scm.com\/\">git<\/a>\u00a0describe como configurar tu server para poder hacer cambios al tiempo con un simple &#8220;git push origin&#8221;.<\/p>\n<h2>En tu maquina local:<\/h2>\n<p>Vamos a suponer que creamos un nuevo sitio con un \u00fanico archivo llamado &#8220;index.html&#8221;.<\/p>\n<blockquote><p>$ mkdir <em>sitio<\/em>; cd <em>sitio<br \/>\n<\/em>$ git init<br \/>\nInitialized empty Git repository in \/home\/user\/sitio\/.git<br \/>\n$ touch <em>index.html<\/em><br \/>\n$ git add <em>index.html<\/em><br \/>\n$ git commit -m &#8220;mi primer commit&#8221;<\/p><\/blockquote>\n<p>La idea de la carpeta sitio es que vaya <strong>toooodo<\/strong> tu proyecto (templates, backend code, frontend code). Lo ideal es un repositorio git por server, es decir si tenemos otro server para servir contenido est\u00e1tico tendr\u00edamos que crear otro repositorio.<\/p>\n<h2>En tu server remoto:<\/h2>\n<p>Asumo que tenemos un server con acceso SSH<br \/>\nIdealmente que hayamos configurado las cosas para que podamos entrar sin ingresar un <em>password.\u00a0<\/em><br \/>\nCreamos un repositorio espejo al que tenemos en nuestra maquina local.<\/p>\n<blockquote><p>$ mkdir sitio.git; cd sitio.git<br \/>\n$ git init &#8211;bare<\/p><\/blockquote>\n<p>Entonces definimos (y habilitamos) un <b>post-receive\u00a0<\/b>en la carpeta hooks.<\/p>\n<blockquote><p>$ nano hooks\/post-receive<br \/>\n#!\/bin\/sh<br \/>\nGIT_WORK_TREE=\/home\/user\/webapps\/ejemplo.com git checkout -f<br \/>\n$ chmod +x hooks\/post-receive<\/p><\/blockquote>\n<h2>Volvemos a nuestra maquina<\/h2>\n<p>De vuelta en nuestra maquina definimos un nombre para el espejo remoto, y luego lo reflejamos all\u00ed creando una nueva rama &#8220;maestra&#8221;.<\/p>\n<blockquote><p>$ git remote add origin ssh:\/\/server.ejemplo.com\/home\/user\/gitapps\/sitio.git<br \/>\n$\u00a0git push origin +master:refs\/heads\/master<\/p><\/blockquote>\n<p>Sobre el servidor \/home\/user\/webapps\/ejemplo.com deber\u00edamos tener una copiar de nuestro <em>index.html<\/em><\/p>\n<h2>A la hora de actualizar:<\/h2>\n<p>solo corre el comando:<\/p>\n<blockquote><p>$ git push origin<\/p><\/blockquote>\n<p>Esto transferir\u00e1 cuaquier nuevo commit a nuestro server.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Subir por FTP es antiguo y arriesgado. Esta simple guia de\u00a0git\u00a0describe como configurar tu server para poder hacer cambios al tiempo con un simple &#8220;git push origin&#8221;. En tu maquina local: Vamos a suponer que creamos un nuevo sitio con un \u00fanico archivo llamado &#8220;index.html&#8221;. $ mkdir sitio; cd sitio $ git init Initialized empty [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/santiagodebus.com\/index.php?rest_route=\/wp\/v2\/posts\/15"}],"collection":[{"href":"https:\/\/santiagodebus.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/santiagodebus.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/santiagodebus.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/santiagodebus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15"}],"version-history":[{"count":0,"href":"https:\/\/santiagodebus.com\/index.php?rest_route=\/wp\/v2\/posts\/15\/revisions"}],"wp:attachment":[{"href":"https:\/\/santiagodebus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/santiagodebus.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/santiagodebus.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}