{"id":3092,"date":"2023-11-21T12:10:14","date_gmt":"2023-11-21T11:10:14","guid":{"rendered":"https:\/\/www.saskialund.de\/?p=3092"},"modified":"2024-08-18T19:26:53","modified_gmt":"2024-08-18T17:26:53","slug":"master-git-y-ssh-una-guia-para-convertirse-en-un-profesional-de-la-gestion-de-codigo","status":"publish","type":"post","link":"https:\/\/isla-stud.io\/es\/howtos-anleitungen\/meistern-sie-git-und-ssh-ein-leitfaden-auf-dem-weg-zum-profi-im-code-management\/","title":{"rendered":"Domina Git y SSH: gu\u00eda para convertirte en un profesional de la gesti\u00f3n de c\u00f3digo"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Bienvenido a este tutorial, en el que veremos el versionado y el trabajo en equipo en el desarrollo de software. Aprender\u00e1s a configurar un repositorio Git privado y sincronizarlo con un directorio SSH de destino. Esta configuraci\u00f3n es ideal para desarrollar plugins de WordPress, temas u otros componentes de c\u00f3digo donde un historial de edici\u00f3n detallado y la colaboraci\u00f3n en equipo son cruciales.<\/p>\n\n\n\n<div class=\"wp-block-columns blindhelper is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\t\t\t<div id=\"rank-math-rich-snippet-wrapper\" class=\"\">\n\n\t\t\t\t\t\t<h5 class=\"rank-math-title\"> <\/h5>\n\t\t\t\t<div class=\"rank-math-review-image\">\n\t\t\t<img decoding=\"async\" src=\"https:\/\/isla-stud.io\/wp-content\/uploads\/2023\/11\/git-ssh-repo-leitfaden_blog-300x200.jpg\" alt=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">\n\t\t<\/div>\n\t\t<div class=\"rank-math-review-data\">\n\n\t\t\t<p><\/p>\n\t\t\n\t\t\t<p>\n\t\t\t<strong>Proveedor del curso: <\/strong>\n\t\t\tPersona\t\t<\/p>\n\t\t\n\t\t\t<p>\n\t\t\t<strong>Nombre del proveedor del curso: <\/strong>\n\t\t\tSaskia Teichmann\t\t<\/p>\n\t\t\n\t\t\t<p>\n\t\t\t<strong>URL del proveedor del curso: <\/strong>\n\t\t\thttps:\/\/www.saskialund.de\/\t\t<\/p>\n\t\t\n\t\t\t<p>\n\t\t\t<strong>Modo del curso: <\/strong>\n\t\t\tEn l\u00ednea\t\t<\/p>\n\t\t\n\t\t\t<p>\n\t\t\t<strong>Trabajos del curso: <\/strong>\n\t\t\tPT30M\t\t<\/p>\n\t\t\n\t\n\t\n\t\n\t\n\t\n\t\t\t<p>\n\t\t\t<strong>Tipo de curso: <\/strong>\n\t\t\tGratis\t\t<\/p>\n\t\t\n\t\n\t\n\t\n<\/div>\n\n\t\t\t<\/div>\n\t\t\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Preparativos para esta gu\u00eda<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de empezar, aseg\u00farate de que tu configuraci\u00f3n local cumple los siguientes requisitos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Git instalado<\/strong>Compruebe si Git est\u00e1 instalado en su sistema y en el servidor remoto deseado. Si no es as\u00ed, puede descargarlo desde <a href=\"https:\/\/git-scm.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">git-scm.com<\/a> descargar e instalar.<\/li>\n\n\n\n<li><strong>Acceso SSH<\/strong>Aseg\u00farate de que tienes acceso SSH al servidor con el que quieres trabajar.<\/li>\n\n\n\n<li><strong>Editor de texto<\/strong>Debe tener instalado un editor de texto b\u00e1sico como Nano, Vim o un programa similar.<\/li>\n\n\n\n<li><strong>Conexi\u00f3n a Internet<\/strong>Se requiere una conexi\u00f3n estable a Internet para interactuar con los repositorios remotos.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Crear un repositorio Git privado y local<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En primer lugar, crea tu propio repositorio Git privado. Este repositorio sirve como punto de contacto central donde se almacenan todas las versiones de tu c\u00f3digo.<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">git in MiProyecto # Inicializa un nuevo repositorio Git llamado \"MiProyecto\".\ncd MiProyecto # Cambia al directorio reci\u00e9n creado\ngit add .             # A\u00f1ade todos los archivos actuales al repositorio\ngit commit -m \"First commit\" # Crea un 'commit' con el mensaje 'First commit'<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Sincronizar el repositorio Git con un directorio de destino SSH<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aqu\u00ed sincronizas tu repositorio Git local con un directorio remoto a trav\u00e9s de SSH. Esto te permite almacenar de forma segura tu trabajo en un servidor remoto y compartirlo con los miembros del equipo.<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">ssh root@ihr-server.com \"mkdir \/ruta\/a\/directorio-objetivo\" # Crea un directorio en el servidor\nssh root@ihr-server.com \"cd \/ruta\/a\/directorio-objetivo; git init --bare\" # Inicializa un repositorio Git 'bare' en el servidor\ngit remote add origin ssh:\/\/root@ihr-server.com\/pfad\/zum\/zielverzeichnis # Vincula tu repositorio local con el repositorio remoto. El repositorio remoto se gestiona ahora con el identificador \"origin\". Tambi\u00e9n puedes utilizar un identificador diferente.\ngit push origin master # Env\u00eda tus cambios locales al repositorio remoto<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Trabajar con GitHub<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si prefieres trabajar con GitHub o quieres conectar un repositorio remoto adicional, tambi\u00e9n puedes conectar tu repositorio local a un repositorio de GitHub:<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">ssh root@ihr-server.com \"mkdir \/ruta\/a\/directorio-objetivo\" # Crea un directorio en el servidor\nssh root@ihr-server.com \"cd \/ruta\/a\/directorio-objetivo; git init --bare\" # Inicia un repositorio Git 'bare' en el servidor\ngit remote add origin ssh:\/\/root@ihr-server.com\/pfad\/zum\/zielverzeichnis # Vincula tu repositorio local con el repositorio remoto\ngit push origin master # Env\u00eda tus cambios locales al repositorio remoto<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Env\u00edo autom\u00e1tico de versiones (publicaciones) al destino SSH<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Automatice el despliegue de sus cambios en el servidor con un gancho post-recepci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">ssh root@ihr-server.com # Se conecta al servidor\ncd \/ruta\/al\/directorio-destino # Cambia al directorio de destino\nnano hooks\/post-receive # Crea o edita el script hook 'post-receive<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Inserte el siguiente script para aplicar autom\u00e1ticamente los cambios al directorio de trabajo en el servidor:<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">#!\/bin\/sh\nGIT_WORK_TREE=\/ruta\/a\/directorio_de_trabajo git checkout -f # Actualiza el directorio de trabajo en el servidor con los \u00faltimos cambios\nchown -R nombreusuario:nombregrupo \/ruta\/a\/directorio_de_trabajo # Cambia el propietario de los archivos del directorio de trabajo\nchmod +x hooks\/post-receive # Hace ejecutable el script\nOpcional:\nchown -R 33:33 \/ruta\/a\/directorio_de_trabajo # Asegura que los archivos y directorios en el directorio de trabajo sean asignados a un usuario y grupo de usuarios espec\u00edficos. Aqu\u00ed utilizo 33:33 porque estos son los ID de mi usuario del servidor web y del grupo de usuarios del servidor web www-data.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Arrastre los cambios desde el destino SSH al repositorio local<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Transfiera los cambios realizados en el servidor de destino SSH a su repositorio local:<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">ssh root@ihr-server.com # Se conecta al servidor\ncd \/ruta\/al\/directorio-de-trabajo # Cambia al directorio de trabajo en el servidor\ngit add .  # A\u00f1ade todos los archivos nuevos o modificados al commit\ngit commit -m \"Descripci\u00f3n de los cambios\" # Crea una nueva confirmaci\u00f3n con la descripci\u00f3n de los cambios.\ngit push origin master # Env\u00eda los cambios al repositorio remoto\ngit pull origin master # Extrae los \u00faltimos cambios del repositorio remoto a tu repositorio local<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Aplicar los cambios del repositorio remoto de GitHub al repositorio local<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Por \u00faltimo, aprender\u00e1s a integrar eficazmente en el repositorio local los cambios realizados en el repositorio remoto de GitHub. Esto es especialmente \u00fatil si trabajas en un equipo en el que varias personas est\u00e1n trabajando en diferentes partes de un proyecto al mismo tiempo, como cuando se desarrolla software complejo o se crea en colaboraci\u00f3n un tema o plugin de WordPress. Al actualizar regularmente tu repositorio local, te aseguras de estar siempre al d\u00eda con el trabajo colaborativo m\u00e1s reciente.<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:14px\"><code lang=\"bash\" class=\"language-bash\">git fetch origin master # Obtiene la informaci\u00f3n m\u00e1s reciente del repositorio de GitHub\ngit merge origin\/master # Fusiona los cambios del repositorio de GitHub en tu repositorio local.<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n: Crecer juntos compartiendo y aprendiendo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hemos llegado al final de esta gu\u00eda, y espero que encuentres \u00fatiles estos conocimientos sobre el uso de Git y SSH. Recuerda que dominar estas herramientas no s\u00f3lo mejorar\u00e1 tus habilidades individuales de desarrollo de software, sino que tambi\u00e9n allanar\u00e1 el camino para proyectos de equipo m\u00e1s eficientes y armoniosos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Te invito a compartir tus ideas, experiencias o preguntas en los comentarios. \u00bfHas tenido alguna experiencia con Git y SSH? \u00bfHay alg\u00fan problema concreto que hayas encontrado o alg\u00fan consejo que quieras compartir con la comunidad? Tus comentarios no s\u00f3lo son valiosos para m\u00ed, sino tambi\u00e9n para otros lectores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Su contribuci\u00f3n podr\u00eda ser la clave que ayude a otra persona a resolver un problema o descubrir una nueva perspectiva. \u00a1Estoy deseando saber de ti!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hasta la pr\u00f3xima, \u00a1sigue siendo curioso e invol\u00facrate en el mundo de la codificaci\u00f3n! \ud83c\udf1f\ud83d\udc68\u200d\ud83d\udcbb\ud83d\udc69\u200d\ud83d\udcbb<\/p>","protected":false},"excerpt":{"rendered":"<p>\u00a1Descubre el mundo de Git y SSH! Aprende a crear tu propio repositorio Git, a sincronizarte con un servidor SSH y a trabajar eficazmente en equipo.<\/p>","protected":false},"author":1,"featured_media":3101,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_isla_series_order":0,"_isla_series_term_id":0,"footnotes":""},"categories":[19,13,20],"tags":[657,658,659,660],"isla_series":[],"class_list":["post-3092","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos-anleitungen","category-ratgeber","category-tipps-tricks","tag-git","tag-github","tag-ssh","tag-wordpress-entwicklung"],"acf":[],"_links":{"self":[{"href":"https:\/\/isla-stud.io\/es\/wp-json\/wp\/v2\/posts\/3092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/isla-stud.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/isla-stud.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/isla-stud.io\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/isla-stud.io\/es\/wp-json\/wp\/v2\/comments?post=3092"}],"version-history":[{"count":11,"href":"https:\/\/isla-stud.io\/es\/wp-json\/wp\/v2\/posts\/3092\/revisions"}],"predecessor-version":[{"id":3255,"href":"https:\/\/isla-stud.io\/es\/wp-json\/wp\/v2\/posts\/3092\/revisions\/3255"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/isla-stud.io\/es\/wp-json\/wp\/v2\/media\/3101"}],"wp:attachment":[{"href":"https:\/\/isla-stud.io\/es\/wp-json\/wp\/v2\/media?parent=3092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/isla-stud.io\/es\/wp-json\/wp\/v2\/categories?post=3092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/isla-stud.io\/es\/wp-json\/wp\/v2\/tags?post=3092"},{"taxonomy":"isla_series","embeddable":true,"href":"https:\/\/isla-stud.io\/es\/wp-json\/wp\/v2\/isla_series?post=3092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}