diff --git a/005_Git_y_github/README.md b/005_Git_y_github/README.md new file mode 100644 index 0000000..0335586 --- /dev/null +++ b/005_Git_y_github/README.md @@ -0,0 +1,217 @@ +# Git y Github + +¿Que son **Git** y **Github**? +[link](https://www.aluracursos.com/blog/git-y-github-que-son-y-primeros-pasos). + +Video para [inicirse](https://www.youtube.com/watch?v=-LmFK6skG7s) en git. + +## Controla y comparte tu código + +Curso [Git y Github](https://app.aluracursos.com/course/git-github-control-version). + +### Que es git + +Control de versiones, trabajo en equipo. En servidor o local. + +Sistemas de control de versiones + +- CVS +- SVN +- Mercurial +- Git + +Un sistema de control de versiones registra cada cambio realizado en un historial +que se puede revisar y restaurar, en cualquier punto de este. + +Permite organizar el trabajo en equipo, +manteniendo los cambios de los archivos en un servidor dedicado. + +Apuntes [Git](https://gitea.kickto.net/devfzn/basicos_git/wiki/). + +Iniciando un +[repositorio](https://www.aluracursos.com/blog/iniciando-repositorio-con-git) + +- `gitinit` inicia repositorio. +- `git status` estado del repositorio. +- `git add ` agrega el archivo al sistema de control de versiones. +- `git add .` agrega todos los archivos al sistema de control de versiones. +- `git commit` crea un punto en el historial de cambios, `-m` para el mensaje. +- `git config`, `--local`, `--global`, `--help`. + +Iniciar un repositorio + +```sh +git init +git config --local user.name +git config --local user.email +git config --local core.sshcommand '-i ~/.ssh/ -F /dev/null' +``` + +> ..."Al ejecutar el comando git status, recibimos información que puede no ser +tan clara, especialmente cuando nos encontramos con términos como HEAD, working +tree, index, etc. +> +>Solo para aclarar un poco, ya que entenderemos mejor cómo funciona Git durante +el curso, aquí hay algunas definiciones interesantes: +> +> - **HEAD**: Estado actual de nuestro código, es decir, donde nos colocó Git +> - **Working tree**: Lugar donde los archivos realmente están siendo almacenados +> - **index**: Lugar donde Git almacena lo que será commiteado, es decir, +la ubicación entre el working tree y el repositorio de Git en sí. +> +> Además de eso, los posibles estados de nuestros archivos son explicados con +detalle en este +[link](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Guardando-cambios-en-el-Repositorio)"... + +[Git log](https://gitea.kickto.net/devfzn/basicos_git/wiki/Comandos-Basicos-Git#user-content-log) + +- `git log` + +
historial + + ```sh + commit 7eb3ca2b356ab72fcb6d3cdd378f6e4ea86f7fcc (HEAD -> master, origin/master) + Author: devfzn + Date: Thu Apr 13 21:31:07 2023 -0400 + + HTML5 y CSS3 pt. 4: Avanzando en CSS 06 + + Diseño responsivo - fin del curso. + + commit bb393c6e7349af7da65806aa1743545734228227 + Author: devfzn + Date: Thu Apr 13 18:59:51 2023 -0400 + + HTML5 y CSS3 pt. 4: Avanzando en CSS 05 + + Uso de: opacity, box-shadow, text-shadow. + Selección de colores RGB y RGBA. + + commit 17d1a78e5f9f8012826b0bc68785c410018601c4 + Author: devfzn + Date: Thu Apr 13 15:52:25 2023 -0400 + + HTML5 y CSS3 pt. 4: Avanzando en CSS 04 + + Selectores avanzados css. + Cálculos con css y medidas proporcionales. + + commit e28f9798705280a2a2e37a9f5556edd1815b31d5 + Author: devfzn + Date: Thu Apr 13 14:22:10 2023 -0400 + + HTML5 y CSS3 pt. 4: Avanzando en CSS 03 + + Mejora de semantica con nuevos divisores 'div', uso de mas pseudo-clases css, + background degaradado, uso de mas pseudo-elementos. + + commit edfb89ab04aa43227cafb07f796eeb6cec53c53c + Author: devfzn + Date: Thu Apr 13 13:05:29 2023 -0400 + + HTML5 y CSS3 pt. 4: Avanzando en CSS 02 + + Uso de fuente externa google font; map & video embedded. + + commit ee5b469838f175e2f16e100a381861b800bad4c3 + Author: devfzn + Date: Wed Apr 12 22:33:32 2023 -0400 + + HTML5 y CSS3 pt. 4: Avanzando en CSS 01 + + Ajustes de página para usar estilo 'style.css'. + Medidas proporcionales CSS con 'em'. + propiedad 'float' y 'clear'. + ``` + +

+ +- git-[log](https://devhints.io/git-log) config. +- archivo `.gitignore`: los archivos/directorios especificados en este archivo +son excluidos del control de veriones. +- `git remote`, repositorios remotos + - `git remote add `: Configura repositorio remoto como origen. + - `git remote remove `: Elimina el vinculo con el repositorio remoto. + - `git remote -v`: Muestra El/los repositorios remotos. + +
+ +- `git clone`, clonar repos + - `git clone `: Clona repositorio remoto en el directorio actual. + - `git clone ` proyecto: Clona repositorio remoto en directorio `proyecto`. + - `git clone ` .: Clona repositorio remoto en el directorio actual sin + crear otro subdirectorio para el proyecto. + +
+ +- `git push`: Envia los cambios al repostorio remoto. + - `git push `: Envia los cambios de la rama `master` + repostorio remoto `origin`. + +
+ +- `git fetch `: Actualiza la información local respecto a la remota, +informa los cambios, pero no atualiza el working tree. +- `git push `: Actualiza la copia local según los datos del servidor. +- `git pull `: Actualiza la copia remota según los datos locales. + +#### Servicios de repositorios online + +- [GitLab](https://gitlab.com), Disponible online y self-host. +- [Gitea](https://gitea.io), Solo Self-host. +- [GitHub](https://github.com), Solo online. +- [Git](https://git-scm.com/docs/gitweb) Web, solo Self-host. + +> - GitHub new Token [Restriction](https://www.aluracursos.com/blog/exigendia-autenticacion-por-token). +> - Acceso [ssh](https://www.aluracursos.com/blog/ssh-acceso-remoto-a-servidores) a maquinas. + +- Ramas, `git branch` + - `git branch`: muestra el nombre de rama actual. + - `git branch -a`: muestra las ramas existentes. + - `git branch `: crea la ramas . +- `git checkout `: cambia a la rama . +- `git checkout -b `: crea y cambia a la rama . + +> Las branches ("ramas") se utilizan para desarrollar funcionalidades aisladas +entre sí. La branch master es la branch "predeterminada" cuando creas un +repositorio. + +> Nota: [Licencias](https://www.aluracursos.com/blog/open-source-una-breve-introduccion) +de software, FreeSofware y Open Source. + +- `git merge `: Fusiona rama actual con `rama`. ej. +`git checkout master; git merge rama`. +- `git rebase `: Sobreesbribe la rama actual sobre `rama`. ej. +`git checkout master; git rebase rama`. +- Editar manualmente cuando falla el `merge`. Git marca la zona del conflicto. + +> Siempre actualizar repositorio local antes de hacer push. + +- `git restore `: restaurar el archivo al ultimo estado guardado. +- `git restore --staged `: saca el archivo de los cambios a incluir en +el próximo commit (staging area). +- `git reverse `: crea un nuevo commit que deshace el anterior. +- `git stash`: Guarda el trabajo en progreso, no crea commit. +- `git stash list`: Lista los trabajos guardados. +- `git stash apply `: Aplica los cambios del trabajo guardado nro. `n` +(n queda en la lista de stach). +- `git stash pop`: Aplica los cambios del último trabajo guardado, y lo elimina +de la lista. +- `git checkout `: Revisar commits anteriores. +- `git diff`: Muestra las modificaciones que no han sido agregadas para el +proximo commit (staging area). +- `git diff `: Muestra las diferencias entre el commit actual y `commit_id`. + +#### Tag + +Punto en el historial, al cual se le asigna una etiqueta + +Mas info en repo +[basicos_git](https://gitea.kickto.net/devfzn/basicos_git/wiki/Administracion-de-Proyecto#tags). + +```sh +git tag -a v0.3 -m "Release 0.3" + git push origin "Release 0.3" +``` + +Ejemplos de [tags](https://gitea.kickto.net/SyDeVoS/Caldera-ino/tags). diff --git a/README.md b/README.md index 7c565c4..9bde6d6 100644 --- a/README.md +++ b/README.md @@ -16,3 +16,4 @@ para certificación ORACLE. Notas, apuntes, resumenes y actividades. - [Principiante](./002-003_logica_de_programacion/README.md) y conceptos primoridiales en programación con Javascript. - Crea tus primeras [páginas Web](./004_primeras_paginas/README.md), HTML5 y CSS3. +- [Git](./005_Git_y_github/README.md) y Github.