No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso Básico de GitHub Actions

Curso Básico de GitHub Actions

Oscar Barajas Tavares

Oscar Barajas Tavares

Build and deploy con GitHub Pages y GitHub Actions

5/10
Recursos

Aportes 19

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Les comparto una lista de comandos git !!

Flujos de Trabajo

  • git init [nombre] inicia un repositorio y crea la carpeta [nombre].
  • git status muestra el estado de los archivos en el repositorio.
    • untracked files son archivos que están en nuestro Working Directory, lo que aparezca en rojo es lo que se ha modificado y hay que pasarlo al Staging.
    • changes to be comitted son los archivos que se encuentran en el staging area. Aparecen en verde.
  • git add [archivo] agrega un archivo al staging
  • git add -A agrega todos los archivos del working directory al staging area. git add . hace lo mismo.
  • git add -n [archivo] simula el agregado de un [archivo].
  • git rm --cached [archivo] quita un [archivo] del staging al working area.
  • git rm -f quita el archivo del staging y del working directory. La diferencia entre esto y simplemente borrar el archivo directamente es que se guarda en git un registro de eliminación.
  • git commit -m ["mensaje"] agrega los archivos del staging al repositorio.
  • git commit --amend anexa el nuevo cambio al anterior commit. Si se escribe un mensaje este sobreescribe el anterior.
  • git tag -a [tag] -m ["comentario"] agrega el tag con un comentario al ultimo commit.
  • git tag -l lista los tags.
  • git tag [tag] [sha1 del commit] agrega un tag a un commit en partcular.
  • git tag -d [tag] elimina el tag.
  • git tag -f -a [nuevo tag] [sha1 del commit] renombra el tag del commit pero deja el anterior tag.
  • git log ver la lista de commits.
    • --stat explica el número de líneas que se cambiaron brevemente.
    • --stat explica el número de líneas que se cambiaron y te muestra que se cambió en el contenido.
    • --oneline resumido.
    • --graph ver las ramificaciones.
    • -[numero] ver los ultimos [numero] commits.
    • --author="Name Author" nuestra los los logs de un autor
  • git relog muestra el log completo de git, incluido branches eliminados.
  • git show muestra los últimos cambios que se han hecho.
  • git diff [sha1 del commit] muestra la diferencias del commit [sha1].
  • git diff [sha1-1] [sha1-2] diferencia entre la version 1 vs la version 2.
  • git reset
    • --soft [sha1] borrar todos los commits posteriores a [sha1]. Los archivos que salen del repositorio son pasados al staging area. Este comando resetea el HEAD al [sha1] mas no modifica ningún archivo.
    • --mixed [sha1] borrar todos los commits posteriores a [sha1]. Los archivos que salen del repositorio son pasados al working directory
    • --hard [sha1] elimina todos los cambios incluso del working directory.
    • HEAD saca los archivos del staging area. Este comando no elimina ningún archivo ni borra commits del git.
  • gitk te muestra una ventana con toda la historia del repositorio.

Múltiples entornos de trabajo

  • git branch [nombre] crear la rama [nombre]
  • git branch -l lista las ramas
  • git branch -r muestra todas las ramas remotas
  • git branch -a muestra todas las ramas tanto locales como remotas
  • git branch -d [nombre] elimina el branch [nombre]. Esto solo funciona si el branch no tiene ningún commit.
  • git branch -D [nombre] fuerza la eliminación de un branch sin importar si tiene commits
  • git branch -m [nombre inicial] [nuevo nombre] renombra el branch [nombre inicial] por [nuevo nombre]
  • git checkout [brach] moverse al branch [branch]
  • git chechout [sha1] ir al momento del tiempo de ese commit
  • git chechout [sha1] [archivo] ir al momento del tiempo de ese commit de un archivo específico.
  • git checkout -b [nombre] crea un branch y se mueva al mismo
  • git checkout -- [archivo] descarta todos los cambios del archivo
  • git merge [branch] mezcla el branch [branch] con el branch actual
  • git rebase [branch] mezcla el [branch] con el branch actual. Es como el merge pero sin crear bifurcaciones. Para que funcione bien, primero se hace rebase a la rama con los cambios que queremos modificar y luego rebase a la rama final.
  • git stash es un limbo como el staging area. Te permite cambiar de branch sin hacer commit.
  • git stash list ver la lista de los stash.
  • git stash pop aplica el ultimo stash a la rama actual.
  • git stash branch [brach] mueve el stash al [branch]
  • git stash drop stash@{numero} elimina el stash.
  • git stash apply stash@{numero} aplica el stash.
  • git clean elimina los archivos que no están bajo el control de versión. Para que funcione es necesario usar alguno de los flags:
    • -n no remueve nada, solo te muestra los archivos que va a eliminar.
    • -f elimina los archivos que no se encuentran versionados.
  • git cherry pick [sha1] mover el commit [sha1] de otro branch al branch actual.

Repositorios Remotos (Github)

  • git clone [ruta] trae el repositorio a la computadora
  • fork hace una copia de un repositorio externo a nuestra cuenta
  • ssh-keygen -t rsa -b 4096 -C "[email protected]" crea una llave ssh. El correo debe de ser el mismo que se encuentra en Github
  • git remote add [nombre] [ruta] conecta un repositorio remoto con uno local. Por defecto el nombre es origin
  • git remote -v lista las conexiones remota
  • git remote remove [nombre] remueve una conexión remota
  • git fetch [nombre] [branch] traer . Solo los trae pero no lo mezcla
  • git merge [origin/master] --allow-unrelated-histories hace un merge del fetch con el repositorio local
  • git pull [origin] [branch] hace un fetch mas merge
  • git push [origin] [master] envia al repositorio local al remoto
    • --tags enviar los tags
  • git push --all origin push a todos los branch y tags

Comandos colaborativos

  • git shortlog -sn muestra cuantos commit han hecho cada miembros del equipo.
  • git shortlog -sn --all muestra cuantos commit han hecho cada miembros del equipo hasta los que han sido eliminado
  • git shortlog -sn --all --no-merge muestra cuantos commit han hecho cada miembros quitando los eliminados sin los merges
  • git blame [archivo] muestra quien hizo cada cosa linea por linea
  • git [comando] --help muestra cómo funciona el comando.
  • git blame [archivo] -L[linea_inicial],[linea_final] muestra quién hizo cada cosa linea por linea indicándole desde qué linea ver. Ejemplo -L35,50

Clase 5 😀

Si a ti como a mi no se ejecutaban los deploys automaticos, cambia el nombre del archivo deploy.yml por main.yml

Si funciona, no significa que esta del todo bien ✨

.

Si se puede automatizar, se puede debe implementar ✨

Las integraciones que podemos encontrar en el marketplace de Github Actions pueden ser:

  • Apps: integraciones que van a tu repositorio.

  • Actions: ejecuciones individuales que se incluirán en tu workflow o pipeline para personalizarlo

Chicos murió github pages, se ha vuelto de pago 😥😭

Necesito saber donde puedo descargar el template de su terminal, mi terminal esta toda aburrida

Le comparto un enlace de la documentación de vite que explica como hacer un despliegue en github pages

name: Build and Deploy
on: [push]
permissions:
  contents: write
jobs:
  build-and-deploy:
    concurrency: ci-${{ github.ref }} # Recommended if you intend to make multiple deployments in quick succession.
    runs-on: ubuntu-latest
    steps:
      - name: Checkout 🛎️
        uses: actions/checkout@v3

      - name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built.
        run: |
          npm ci
          npm run build

      - name: Deploy 🚀
        uses: JamesIves/github-pages-deploy-action@v4
        with:
          folder: build # The folder the action should deploy.
Cómo se pronuncia "Vite"? Así: "veet", porque viene del francés" vite" que quiere decir rápido. Este profesor debería ponerle más atención a esos detalles. Nada de "bait".

muchisimas gracias

Profe, su configuración del prompt de la shell está muy atascada. Me gusta.

Me funciono todo muy bien, pero quiero que nos enseñen a hacer el .yml con nuestras propias instrucciones. es decir entender cada campo

Me parece algo mediocre que se cree el proyecto usando vite sin explicar el por qué de esta decisión tan importante
Este vídeo me ayudó a hacerme una idea de las razones por las que Oscar lo decidió…

Waoo y así se empieza a automatizar los procesos dentro del ciclo de vida de desarrollo.

En el marketplaces las estrellas son los grados de popularidad que tiene el actions se recomienda usar la que tenga más popularidad, ya que eso indica que está siendo usada por muchos desarrolladores.

Aquí hay un recurso muy bueno (cheatsshet)sobre comandos necesarios en Github.

Gracias a este capitulo pude hacer deploy para un pagina de prueba … que emoción 😃

Que bonito es lo bonito!!!