{"id":760,"date":"2025-02-02T05:11:06","date_gmt":"2025-02-02T04:11:06","guid":{"rendered":"https:\/\/www.educagis.com\/wpcarlos\/?p=760"},"modified":"2025-02-02T05:20:45","modified_gmt":"2025-02-02T04:20:45","slug":"gitea-una-opcion-para-tener-un-servicio-git-propio","status":"publish","type":"post","link":"https:\/\/www.educagis.com\/wpcarlos\/2025\/02\/02\/gitea-una-opcion-para-tener-un-servicio-git-propio\/","title":{"rendered":"Gitea una opci\u00f3n para tener un servicio Git propio"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"233\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/img_title-1024x233.png\" alt=\"\" class=\"wp-image-774\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/img_title-1024x233.png 1024w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/img_title-300x68.png 300w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/img_title-768x175.png 768w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/img_title-1536x349.png 1536w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/img_title-2048x466.png 2048w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/img_title-1200x273.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n<h2 class=\"simpletoc-title\">Tabla de contenidos<\/h2>\n<ul class=\"simpletoc-list\">\n<li><a href=\"#introduccion\">Introducci\u00f3n<\/a>\n\n<\/li>\n<li><a href=\"#instalacion-usando-docker\">Instalaci\u00f3n usando Docker<\/a>\n\n\n<ul><li>\n<a href=\"#primeros-pasos\">Primeros Pasos<\/a>\n\n<\/li>\n<li><a href=\"#ajustes-requeridos\">Ajustes requeridos<\/a>\n\n<\/li>\n<li><a href=\"#configuracion-de-nuestro-servicio\">Configuraci\u00f3n de nuestro servicio<\/a>\n\n<\/li>\n<li><a href=\"#pasos-finales\">Pasos finales<\/a>\n\n<\/li>\n<\/ul>\n<li><a href=\"#dentro-de-nuestro-servicio-git\">Dentro de nuestro Servicio Git<\/a>\n\n\n<ul><li>\n<a href=\"#opciones-de-migracion\">Opciones de Migraci\u00f3n<\/a>\n\n<\/li>\n<li><a href=\"#nuevos-repositorios\">Nuevos Repositorios<\/a>\n\n<\/li>\n<li><a href=\"#trabajando-con-los-repositorios\">Trabajando con los repositorios<\/a>\n\n<\/li>\n<\/ul>\n<li><a href=\"#reflexion-final\">Reflexi\u00f3n Final<\/a>\n<\/li><\/ul>\n\n<h2 class=\"wp-block-heading\" id=\"introduccion\">Introducci\u00f3n<\/h2>\n\n\n<p class=\"has-drop-cap\">Cuando desarrollamos nuestro proyectos siempre buscamos la manera de trabajarlo en un ambiente pr\u00e1ctico y seguro, en la actualidad existen diversos servicios para contar con repositorios remotos bajo los sistemas de control de versiones de Git (<a href=\"https:\/\/about.gitlab.com\/\" data-type=\"link\" data-id=\"https:\/\/about.gitlab.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitLab<\/a>, <a href=\"https:\/\/github.com\/\" data-type=\"link\" data-id=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>, <a href=\"https:\/\/bitbucket.org\/product\/\" data-type=\"link\" data-id=\"https:\/\/bitbucket.org\/product\/\" target=\"_blank\" rel=\"noreferrer noopener\">BitBucket<\/a>, entre otros), pero de alguna manera estamos limitados a ciertas caracter\u00edsticas propios de cada servicio. Desde hace unos a\u00f1os apareci\u00f3 <a href=\"https:\/\/about.gitea.com\/\" data-type=\"link\" data-id=\"https:\/\/about.gitea.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Gitea<\/a> como una opci\u00f3n libre para contar con el servicio pero alojado de manera local en nuestra infraestructura, lo que me parece una interesante alternativa para quienes estamos acostumbrados a gestionar repositorios.  A continuaci\u00f3n voy a mostrar mi experiencia instalando Gitea a trav\u00e9s de <a href=\"https:\/\/www.docker.com\/\" data-type=\"link\" data-id=\"https:\/\/www.docker.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker<\/a>, en la <a href=\"https:\/\/docs.gitea.com\/category\/installation\" data-type=\"link\" data-id=\"https:\/\/docs.gitea.com\/category\/installation\" target=\"_blank\" rel=\"noreferrer noopener\">documentaci\u00f3n<\/a> de Gitea puedes revisar otras opciones.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"instalacion-usando-docker\">Instalaci\u00f3n usando Docker<\/h2>\n\n<h3 class=\"wp-block-heading\" id=\"primeros-pasos\">Primeros Pasos<\/h3>\n\n\n<p>Lo primeo que hice fue generar una carpeta en donde voy a trabajar Gitea, en mi caso lo abr\u00ed con <a href=\"https:\/\/code.visualstudio.com\/\" data-type=\"link\" data-id=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Visual Studio Code<\/a> y gener\u00e9 una archivo YAML al que le denomin\u00e9 <em>docker-compose.yml<\/em> , el contenido de este archivo lo extraje de la <a href=\"https:\/\/docs.gitea.com\/installation\/install-with-docker\" data-type=\"link\" data-id=\"https:\/\/docs.gitea.com\/installation\/install-with-docker\" target=\"_blank\" rel=\"noreferrer noopener\">documentaci\u00f3n de Gitea<\/a>, el cual correspond\u00eda a la instalaci\u00f3n usando Docker y en donde se especifica el uso de Gitea en combinaci\u00f3n con una base de datos  MySQL.<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<pre class=\"wp-block-code\"><code>version: \"3\"\n\nnetworks:\n  gitea:\n    external: false\n\nservices:\n  server:\n    image: docker.io\/gitea\/gitea:1.23.1\n    container_name: gitea\n    environment:\n      - USER_UID=1000\n      - USER_GID=1000\n+     - GITEA__database__DB_TYPE=mysql\n+     - GITEA__database__HOST=db:3306\n+     - GITEA__database__NAME=gitea\n+     - GITEA__database__USER=gitea\n+     - GITEA__database__PASSWD=gitea\n    restart: always\n    networks:\n      - gitea\n    volumes:\n      - .\/gitea:\/data\n      - \/etc\/timezone:\/etc\/timezone:ro\n      - \/etc\/localtime:\/etc\/localtime:ro\n    ports:\n      - \"3000:3000\"\n      - \"222:22\"\n+    depends_on:\n+      - db\n+\n+  db:\n+    image: docker.io\/library\/mysql:8\n+    restart: always\n+    environment:\n+      - MYSQL_ROOT_PASSWORD=gitea\n+      - MYSQL_USER=gitea\n+      - MYSQL_PASSWORD=gitea\n+      - MYSQL_DATABASE=gitea\n+    networks:\n+      - gitea\n+    volumes:\n+      - .\/mysql:\/var\/lib\/mysql<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<p>Luego de contar con el archivo, dentro de VsCode abr\u00ed una terminal, en mi caso lo hice con GitBash para mayor facilidad, desde ah\u00ed ejecut\u00e9 el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker-compose up -d<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"506\" height=\"660\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image11.png\" alt=\"\" class=\"wp-image-768\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image11.png 506w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image11-230x300.png 230w\" sizes=\"auto, (max-width: 506px) 85vw, 506px\" \/><\/figure>\n\n\n<h3 class=\"wp-block-heading\" id=\"ajustes-requeridos\">Ajustes requeridos<\/h3>\n\n\n<p>Un detalle que no debemos dejar de lado son los requerimientos para una instalaci\u00f3n sin errores, uno de ellos es el contar con Docker Desktop corriendo en nuestro equipo. Por otro lado, si fueron curiosos y vieron la figura de arriba, en la l\u00ednea 26 se define los puertos a emplearse, en mi caso el puerto por defecto \u00ab3000\u00bb lo ten\u00eda ocupado, por lo tanto, lo modifiqu\u00e9 a \u00ab4000\u00bb, pero no basta hacer eso, aunque me tarde un poco en descubrirlo, es necesario tambi\u00e9n editarlo del archivo <em>app.ini<\/em> localizado dentro de la carpeta <em>config<\/em>.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a0c61ae44177&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a0c61ae44177\" class=\"wp-block-image size-medium wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"128\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image12-300x128.png\" alt=\"\" class=\"wp-image-770\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image12-300x128.png 300w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image12-768x327.png 768w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image12.png 851w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Agrandar\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>Para comprobar que todo funciona bien, lo podemos revisar en nuestro Docker Desktop.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a0c61ae44453&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a0c61ae44453\" class=\"wp-block-image size-medium wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"102\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image6-300x102.png\" alt=\"\" class=\"wp-image-771\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image6-300x102.png 300w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image6-1024x348.png 1024w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image6-768x261.png 768w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image6-1536x522.png 1536w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image6-1200x408.png 1200w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image6.png 1723w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Agrandar\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>Tambi\u00e9n, para quienes tienen el complemento de Docker en VsCode lo podemos apreciar al activarlo de la barra lateral.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"433\" height=\"405\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image13.png\" alt=\"\" class=\"wp-image-772\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image13.png 433w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image13-300x281.png 300w\" sizes=\"auto, (max-width: 433px) 85vw, 433px\" \/><\/figure>\n\n\n<h3 class=\"wp-block-heading\" id=\"configuracion-de-nuestro-servicio\">Configuraci\u00f3n de nuestro servicio<\/h3>\n\n\n<p>Ahora viene lo interesante, debemos ir a nuestro navegador web para abrir nuestro servicio local, en mi caso ir\u00e9 a: <a href=\"http:\/\/localhost:4000\/\">http:\/\/localhost:4000\/<\/a>. Cuando hagamos eso nos aparecer\u00e1 una p\u00e1gina para terminar de configurar el servicio con detalles que podemos editar, como por ejemplo el t\u00edtulo de la p\u00e1gina y lo m\u00e1s importante los datos como administradores. Nos referimos con introducir nuestro correo y una constrase\u00f1a.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a0c61ae4478c&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a0c61ae4478c\" class=\"wp-block-image size-medium wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"233\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image14-300x233.png\" alt=\"\" class=\"wp-image-773\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image14-300x233.png 300w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image14-1024x794.png 1024w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image14-768x596.png 768w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image14.png 1084w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Agrandar\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n<h3 class=\"wp-block-heading\" id=\"pasos-finales\">Pasos finales<\/h3>\n\n\n<p>Luego de introducir los datos requeridos en la configuraci\u00f3n inicial podemos hacer click en el bot\u00f3n que dice \u00abInstalar Gitea\u00bb.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"dentro-de-nuestro-servicio-git\">Dentro de nuestro Servicio Git<\/h2>\n\n\n<p>Una vez que pudimos levantar el servicio podemos iniciar creando un nuevo repositorio, aunque en mi caso lo que empec\u00e9 hacer fue migrar repositorios que ten\u00eda en GitHub por ejemplo, para ello solo seleccionamos esa opci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"283\" height=\"185\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image2.png\" alt=\"\" class=\"wp-image-775\"\/><\/figure>\n\n\n\n<p>Luego seleccionamos desde el sitio, en este caso seleccionamos GitHub y luego podemos ir a nuestro repositorio que vamos a migrar para copiar la URL que usar\u00edamos para clonarlo y lo insertamos en donde indica \u00ab<em>Migrar \/ Clonar desde URL<\/em>\u00ab. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"778\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/combinado4.png\" alt=\"\" class=\"wp-image-780\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/combinado4.png 660w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/combinado4-254x300.png 254w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n\n\n<h3 class=\"wp-block-heading\" id=\"opciones-de-migracion\">Opciones de Migraci\u00f3n<\/h3>\n\n\n<p>Un detalle que no quiero dejar de pasar en la posibilidad de que los repositorios que migremos pueden ser una r\u00e9plica, esto quiere decir que estar\u00edan sincronizados con el sitio de origen en este caso de un repositorio de GitHub. Cuando listemos nuestros repositorios tendr\u00e1n un \u00edcono distinto a los otros.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a0c61ae44bb9&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a0c61ae44bb9\" class=\"wp-block-image size-medium wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"122\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image4-300x122.png\" alt=\"\" class=\"wp-image-784\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image4-300x122.png 300w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image4-1024x417.png 1024w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image4-768x312.png 768w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image4-1200x488.png 1200w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image4.png 1374w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Agrandar\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>Para mantenerlo actualizado con los \u00faltimos cambios que hagamos, no debemos olvidarnos de realizar esta sincronizaci\u00f3n.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a0c61ae44e19&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a0c61ae44e19\" class=\"wp-block-image size-medium wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"188\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image5-300x188.png\" alt=\"\" class=\"wp-image-782\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image5-300x188.png 300w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image5-1024x643.png 1024w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image5-768x482.png 768w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image5.png 1062w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Agrandar\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n<h3 class=\"wp-block-heading\" id=\"nuevos-repositorios\">Nuevos Repositorios<\/h3>\n\n\n<p>Bueno no dejemos de lado tambi\u00e9n la posibilidad de generar desde cero nuestros repositorios, muy similar a lo que ya conocemos.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a0c61ae450bc&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a0c61ae450bc\" class=\"wp-block-image size-medium wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"282\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image3-1-300x282.png\" alt=\"\" class=\"wp-image-781\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image3-1-300x282.png 300w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image3-1-768x722.png 768w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image3-1.png 860w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Agrandar\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p> Luego que ya sea por migraci\u00f3n o creando nuevos repositorios ya podemos visualizarlos si nos vamos  a la pesta\u00f1a de \u00abExplorar\u00bb o tambi\u00e9n dentro de nuestro \u00abPerfil\u00bb.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a0c61ae45326&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a0c61ae45326\" class=\"wp-block-image size-medium wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"111\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image1-300x111.png\" alt=\"\" class=\"wp-image-783\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image1-300x111.png 300w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image1-1024x379.png 1024w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image1-768x284.png 768w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image1-1536x568.png 1536w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image1-1200x444.png 1200w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image1.png 1643w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Agrandar\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n<h3 class=\"wp-block-heading\" id=\"trabajando-con-los-repositorios\">Trabajando con los repositorios<\/h3>\n\n\n<p>Ahora que tenemos nuestros repositorios podemos realizar los cambios o actualizaciones que sean necesarios, por lo tanto, debemos realizar el proceso de clonado, en este caso, nos d\u00e1 varios opciones, pero creo que abrirlo dentro de VsCode considero que es lo m\u00e1s pr\u00e1ctico, solo nos pedir\u00e1 que seleccionamos una carpeta en donde se va a descargar.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;6a0c61ae455ac&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"6a0c61ae455ac\" class=\"wp-block-image size-medium wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"212\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image9-300x212.png\" alt=\"\" class=\"wp-image-785\" srcset=\"https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image9-300x212.png 300w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image9-1024x725.png 1024w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image9-768x544.png 768w, https:\/\/www.educagis.com\/wpcarlos\/wp-content\/uploads\/2025\/02\/image9.png 1035w\" sizes=\"auto, (max-width: 300px) 85vw, 300px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Agrandar\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n<h2 class=\"wp-block-heading\" id=\"reflexion-final\">Reflexi\u00f3n Final<\/h2>\n\n\n<p>Luego de esta experiencia de poder instalar un servicio autoalojado de Git para gestionar el desarrollo de mis proyectos, siento que tengo un mayor control de mi informaci\u00f3n, aunque es verdad que la ventaja de tener los servicios de GitHub en t\u00e9rminos de colaboraci\u00f3n y ser m\u00e1s visibles son muy valiosas, no pienso dejarlos, pero si algunos proyectos lo quisiera manejar de manera local con toda la posibilidad de aprovechar el sistema de control de versiones. Todav\u00eda no genero un repositorio desde cero, pero seguro ser\u00e1 de un proyecto muy personal y  cuando est\u00e9 muy bien pulido lo podr\u00e9 compartir en los repositorios remotos. <\/p>\n\n\n\n<p>Bueno, esto ser\u00eda todo por ahora, en esta oportunidad no he generado un video porque todo fue muy r\u00e1pido y considero que no es muy complicado si seguimos los pasos que se ha descrito, espero que sea de utilidad para quienes se animen. Hasta la pr\u00f3xima.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n Cuando desarrollamos nuestro proyectos siempre buscamos la manera de trabajarlo en un ambiente pr\u00e1ctico y seguro, en la actualidad existen diversos servicios para contar con repositorios remotos bajo los sistemas de control de versiones de Git (GitLab, GitHub, BitBucket, entre otros), pero de alguna manera estamos limitados a ciertas caracter\u00edsticas propios de cada servicio. &hellip; <a href=\"https:\/\/www.educagis.com\/wpcarlos\/2025\/02\/02\/gitea-una-opcion-para-tener-un-servicio-git-propio\/\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abGitea una opci\u00f3n para tener un servicio Git propio\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[6],"tags":[],"class_list":["post-760","post","type-post","status-publish","format-standard","hentry","category-tools"],"_links":{"self":[{"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/posts\/760","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/comments?post=760"}],"version-history":[{"count":9,"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/posts\/760\/revisions"}],"predecessor-version":[{"id":792,"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/posts\/760\/revisions\/792"}],"wp:attachment":[{"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/media?parent=760"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/categories?post=760"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.educagis.com\/wpcarlos\/wp-json\/wp\/v2\/tags?post=760"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}