{"id":20057230,"url":"https://github.com/josemanuelep/practicying-git","last_synced_at":"2026-05-29T23:01:31.559Z","repository":{"id":70416465,"uuid":"231669956","full_name":"josemanuelep/practicying-git","owner":"josemanuelep","description":"Hace mucho uso git, pero normalmente siempre usamos las mismas funciones dia a dia (commit, push, pull), con este repositorio puse a prueba funcionalidades avanzadas de esta bella herramienta de trabajo colaborativo.","archived":false,"fork":false,"pushed_at":"2023-06-05T14:30:03.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-02T09:44:47.855Z","etag":null,"topics":["git","gitleanring","practicing"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/josemanuelep.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-03T21:40:33.000Z","updated_at":"2022-03-07T18:59:29.000Z","dependencies_parsed_at":"2025-03-02T09:40:57.317Z","dependency_job_id":"abe28765-09ca-4753-9417-7d6a8037658f","html_url":"https://github.com/josemanuelep/practicying-git","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/josemanuelep/practicying-git","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josemanuelep%2Fpracticying-git","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josemanuelep%2Fpracticying-git/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josemanuelep%2Fpracticying-git/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josemanuelep%2Fpracticying-git/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/josemanuelep","download_url":"https://codeload.github.com/josemanuelep/practicying-git/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josemanuelep%2Fpracticying-git/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33673628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","gitleanring","practicing"],"created_at":"2024-11-13T12:58:08.437Z","updated_at":"2026-05-29T23:01:31.553Z","avatar_url":"https://github.com/josemanuelep.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mi recopilación de la guia oficial de GIT \n\n\n[Pro Git book](https://git-scm.com/book/es/v2)\n\n## 2.1 Fundamentos de Git - Obteniendo un repositorio Git\n\n### Para inicializar un nuevo repositorio local \n\n `$ git init`  \n\nDe esta manera, se crea el direcotrio oculto *.git*, donde se almacenara toda la informacion del repositorio y su historial.  \n\n### Clonando un repositorio existente\n\n`$ git clone https://github.com/libgit2/libgit2`\n\n## 2.2 Fundamentos de Git - Guardando cambios en el Repositorio\n\nMientras editas archivos, Git los ve como modificados, pues han sido cambiados desde su último commit. Luego preparas estos archivos modificados y finalmente confirmas todos los cambios preparados, y repites el ciclo.\n\n![Ciclo de los archivos git](https://git-scm.com/book/en/v2/images/lifecycle.png)\n\n### Revisando el Estado de tus Archivos\n\nLa herramienta principal para determinar qué archivos están en qué estado es el comando git status. Si ejecutas este comando inmediatamente después de clonar un repositorio, deberías ver algo como esto:\n\n`$ git status\nOn branch master\nnothing to commit, working directory clean`\n\n### Rastrear Archivos Nuevos\n\nPara comenzar a rastrear un archivo debes usar el comando git add. Para comenzar a rastrear el archivo README, puedes ejecutar lo siguiente:\n\n`$ git add README`\n\n### Estado Abreviado\n\n`$ git status -s`\n\n### Ignorar Archivos\n\nEsta técnica es bastante útil a la hora de excluir archivos cambiantes en un repositorio, o tambien innecesarios para la construccion o ejecución del proyecto.\nUn ejemplo de esto son la carpeta *node_modules/* cuando se trabaja con un protecto de npm.\n\n[Ejemplo de una aplicacion node js, MERN ](https://github.com/santiquinterog/PageTour-ReactApp/blob/master/.gitignore)\n\n- Otro ejemplo mas completo \n\n*ignora los archivos terminados en .a*\n\n*.a\n\n*pero no lib.a, aun cuando había ignorado los archivos terminados en .a en la línea anterior*\n\n!lib.a\n\n*ignora unicamente el archivo TODO de la raiz, no subdir/TODO*\n\n/TODO\n\n*ignora todos los archivos del directorio build/*\n\nbuild/\n\n*ignora doc/notes.txt, pero no este: doc/server/arch.txt*\n\ndoc/*.txt\n\n*ignora todos los archivos .txt del directorio doc/*\n\ndoc/**/*.txt\n\n### Ver los Cambios Preparados y No Preparados\n\nEste comando compara lo que tienes en tu directorio de trabajo con lo que está en el área de preparación. El resultado te indica los cambios que has hecho pero que aun no has preparado\n\n\n`$ git diff`\n\n# Confirmar tus Cambios\n\nConfirmar tus cambios significa enviarlos al stage, asi pues estos cambios seran rastreados y enviados al repositorio remoto.\nCada vez que se hace un commit sen guarda una instatanea del proyecto.\n\n`$ git commit`\n\nEste último comando es mas rápido y funcional.\n\n`$ git commit -m \"Story 182: Fix benchmarks for speed\"`\n\n**Sin embargo exitste una manera de saltar el area de preparación de git**\n\nLa opción -a es como si antes de hacer el commit ya hubiesemos hecho el git add.\n\n`$ git commit -a -m 'added new benchmarks'`\n\nOtra cosa que puedas querer hacer es mantener el archivo en tu directorio de trabajo pero eliminarlo del área de preparación. En otras palabras, quisieras mantener el archivo en tu disco duro pero sin que Git lo siga rastreando. Esto puede ser particularmente útil si olvidaste añadir algo en tu archivo .gitignore y lo preparaste accidentalmente, algo como un gran archivo de trazas a un montón de archivos compilados .a. Para hacerlo, utiliza la opción --cached:\n\n`$ git rm --cached README`\n\n\n# Ramas\n\n## Ramas remotas\n\n### Actualizar ramas remotas\n\n`git remote update origin --prune`\n\n## Activar la autocorrecion en git bash\n\n`git config --global help.autoCorrect 1`\n\n## Sobrescribir historial de commits\n\ngit-stash - Stash the changes in a dirty working directory away\n\n## Eliminar ramas sin remoto\n\n`git fetch -p \u0026\u0026 for branch in $(git branch -vv | grep ': gone]' | awk '{print $1}'); do git branch -D $branch; done`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosemanuelep%2Fpracticying-git","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosemanuelep%2Fpracticying-git","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosemanuelep%2Fpracticying-git/lists"}