Introducción a Git

1

¿Por qué usar un sistema de control de versiones como Git?

2

¿Qué es Git?

3

Instalando GitBash en Windows

4

Instalando Git en OSX

5

Instalando Git en Linux

6

Editores de código, archivos binarios y de texto plano

7

Introducción a la terminal y línea de comandos

Comandos básicos en Git

8

Crea un repositorio de Git y haz tu primer commit

9

Analizar cambios en los archivos de tu proyecto con Git

10

¿Qué es el staging?

11

¿Qué es branch (rama) y cómo funciona un Merge en Git?

12

Volver en el tiempo en nuestro repositorio utilizando reset y checkout

13

Git reset vs. Git rm

Flujo de trabajo básico en Git

14

Flujo de trabajo básico con un repositorio remoto

15

Introducción a las ramas o branches de Git

16

Fusión de ramas con Git merge

17

Resolución de conflictos al hacer un merge

Trabajando con repositorios remotos en GitHub

18

Cómo funcionan las llaves públicas y privadas

19

Configura tus llaves SSH en local

20

Uso de GitHub

21

Cambios en GitHub: de master a main

22

Tu primer push

23

Git tag y versiones en Github

24

Manejo de ramas en GitHub

25

Configurar múltiples colaboradores en un repositorio de GitHub

Flujos de trabajo profesionales

26

Flujo de trabajo profesional: Haciendo merge de ramas de desarrollo a master

27

Flujo de trabajo profesional con Pull requests

28

Utilizando Pull Requests en GitHub

29

Creando un Fork, contribuyendo a un repositorio

30

Haciendo deployment a un servidor

31

Hazme un pull request

32

Ignorar archivos en el repositorio con .gitignore

33

Readme.md es una excelente práctica

34

Tu sitio web público con GitHub Pages

Multiples entornos de trabajo en Git

35

Git Rebase: reorganizando el trabajo realizado

36

Cómo usar Git Stash: guarda cambios temporalmente

37

Git Clean: limpiar tu proyecto de archivos no deseados

38

Git cherry-pick: traer commits antiguos al head del branch

Comandos de Git para casos de emergencia

39

Git Reset y Reflog: úsese en caso de emergencia

40

Reconstruir commits en Git con amend

41

Buscar en archivos y commits de Git con Grep y log

Bonus sobre Git y Github

42

Comandos y recursos colaborativos en Git y GitHub

43

Tu futuro con Git y GitHub

No tienes acceso a esta clase

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

Manejo de ramas en GitHub

24/43
Recursos

Si no te funciona el comando gitk es posible no lo tengas instalado por defecto.
Para instalar gitk debemos ejecutar los siguientes comandos:
sudo apt-get update
sudo apt-get install gitk

Repasa: ¿Qué es Git?

Las ramas nos permiten hacer cambios a nuestros archivos sin modificar la versión principal (master). Puedes trabajar con ramas que nunca envías a GitHub, así como pueden haber ramas importantes en GitHub que nunca usas en el repositorio local. Lo crucial es que aprendas a manejarlas para trabajar profesionalmente.

Si, estando en otra rama, modificamos los archivos y hacemos commit, tanto el historial(git log) como los archivos serán afectados. La ventaja que tiene usar ramas es que las modificaciones solo afectarán a esa rama en particular. Si luego de “guardar” los archivos(usando commit) nos movemos a otra rama (git checkout otraRama) veremos como las modificaciones de la rama pasada no aparecen en la otraRama.

Comandos para manejo de ramas en GitHub

  • Crear una rama:
    git branch branchName
  • Movernos a otra rama:
    git checkout branchName
  • Crear una rama en el repositorio local:
    git branch nombre-de-la-rama o git checkout -b nombre-de-la-rama.
  • Publicar una rama local al repositorio remoto:
    git push origin nombre-de-la-rama.

Recuerda que podemos ver gráficamente nuestro entorno y flujo de trabajo local con Git utilizando el comando gitk. Gitk fue el primer visor gráfico que se desarrolló para ver de manera gráfica el historial de un repositorio de Git.

Repasa: Qué es branch.

Aporte creado por: Brayan Mamani

Aportes 544

Preguntas 123

Ordenar por:

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

5:40 Freddy hizo un push sin un pull previo.
Hay tabla

A mi me gusta usar GitKraken como interfaz gráfica. Es fácil de usar y muy interactiva. Pero a la hora del manejo de mis ramas y trabajo con repositorios remotos sigo usando la consola. Me parece mas rápido el uso de la consola y me siento más cómodo con ella, GitKraken lo uso para hacer mis commits y para revisar las diferencias de mi código de forma más amigable. Pero no deja de ser una herramienta muy poderosa para facilitar el trabajo a los desarrolladores. Deberían probarla.

Apuntes! 😃

Me dí cuenta que con una sola línea podemos enviar las 2 ramas a GitHub:

git push origin header footer

Ojo, en el examen te sale una pregunta si gitk viene por defecto y la respuesta aparentemente es si, pero en realidad es no, viene si instalas el paquete de windows pero yo que uso centos7 solo tengo git y ya, y falle la pregunta porque estaba mal formulada.

Otro comando para crear una rama y moverse automaticamente a ella es con

git checkout-b <nombre de la rama>

instalar gitk en ubuntu
sudo apt-get install gitk
y si te sale error
sudo dpkg --configure -a
y luego
sudo apt-get install gitk

Muchas veces nos confundimos sobre los branchs que se encuentran en local y en remoto.

Si yo ejecuto el comando

git branch

Nos mostrará las ramas que se encuentran en nuestro repositorio local. El * nos indica en que rama nos encontramos actualmente.

$ git branch 
  cabecera
  footer
  header
  master
* stylesux

Para poder visualizar las ramas que se encuentran en el repositorio remoto, podemos utilizar el siguiente comando.

git branch -r

Esto nos mostrará las ramas que se encuentran en el repositorio remoto y podemos identificar si es que nos hace falta hacer push de alguna otra rama o simplemente dejar asi como se encuentra.

$ git branch -r
  origin/cabecera
  origin/footer
  origin/header
  origin/master

Creo que a nuestro querido y excelentisimo @freddy se le escapo decir que si uno tienen varios branch uno lo puede subir al mismo tiempo solo escribiendelo uno al lado del otro

ejemplo: git push origin header footer … … …

😃

Si quieres enviar las ramas sin tener que dar push en cada una de ellas puedes desde el master poner el comando:

git push origin --all

El cual envía tanto ramas como tags

Compañeros les quiero dar una recomendacion:

Si se sienten mal, que no estan concentrados, cansados, con sueño, que no logran captar las clases y se meten urgencia porque deben ver cierta cantidad de clases o tiempo al dia… No se estresen.

Vale mucho la pena parar por algunos minutos, no importan que no puedan ver las 5 clases que tenian pensado ver, pero es super necesario parar, cerrar los ojos, moverse, tomar agua, algo deben hacer para salir de ese estado en el que no van a entender nada de lo que están estudiando.

Mejor tomar unos minutos para entrar en un mejor estado y aprovechar de verdad las clases.

Necesitamos recordar que platzi no es como la escuela, allá muchas veces no importaba si no prestabamos full atencion a la clase, con pasar el examen habiamos logrado nuestro resultado.

En cambio, aqui lo importante es dominar las habilidades de cada curso de nuestra ruta.

Solo una reflexión, bye

Les comparto mi resumen “resumido”: Si tienen alguna duda con los comandos en la parte superior de la foto te dice a donde debes dirigirte. Let’s go !

Si ejecutaste git pull origin master en la rama cabecera antes de enviarla a Github igual que yo, no te aflijas, te propongo la solución gracias a lo aprendido en el curso hasta ahora:

-Ejecuta git log para ver el historial, y regresa hasta el último commit que realizaste en la branch cabecera.

-Ve a la rama cabecera con git checkout cabecera

-Haz un reset para regresar a esa rama git reset uidcommit --soft

-Bien, ahora solo falta hacer el git push origin cabecera y podrás seguir con el curso bien 😉

Si tienen problemas para ejecutar Gitk. En WSL se ubican en la carpeta y luego lo ejecutan así:

gitk.exe .

Las clases con este man son sublimes.

Si a alguien no le funciona el comando gitk en mac lo que pueden hacer es instalar el GUI de git con el siguiente comando:

brew install git-gui

Para los que usan VS Code existe la extensión Git Graph, muestra los datos de las ramas, los commits que se han hecho, entre otras cosas:

Recuerden usar primero la consola antes que las herramientas.

pero Freddy!! si esto del gitK siempre estuvo ahí ¿porqué nunca me lo contaste?? Me siento traicionado 😦
tal cual :’(

Si usan Ubuntu en WSL2 para poder ejecutar gitk tienen que poner:
gitk.exe.

Si se quiere crear una rama y luego hacer checkout a la rama creada, se puede usar el siguiente comando:

git checkout -b nombre-de-la-rama

Ejemplo:
La rama a crear será “prueba”. Luego de crear la rama quisiera hacer checkout a esa rama para trabajar con ella, entonces hago lo siguiente:

git checkout -b prueba

Este comando me evita tener que escribir:

git branch prueba

Y luego

git checkout prueba

Wauuu no conocía el comando gitk, esta super…

Bueno voy a dejar mi aporte para los que tengan problemas con el comando gitk :
.
Yo uso WSL2 en Windows10 claro. La cuestion es que no se ejecutaba gitk, resulta que debes instalarlo con sudo apt install gitk
.
Luego de eso igual me daba un error al querer ejecutar gitk, entonces solo debes colocar gitk.exe (listo, ya funciona).
.
Saludos desde Ecuador ❤️

en debian y derivados debes instalar gitk para poder tener acceso a el desde la shell, para instalarlo solo debes hacer

sudo apt install gitk

Git Graph en el VS Code, muy buen modulo que hace algo similar al Gitk!

Si seguimos los pasos que dice Freddy deberíamos crear la rama header y footer estando parados en la rama master; sin embargo si de pronto le hicimos checkout cabecera y se nos olvidó volver a pasar a la master para crear las otras dos, podemos borrar las ramas con el comando
git branch -d nombre-de-la-rama

En las ultimas versiones de git para cambiar de una rama a otra , aparte de utilizar el comando git checkout “nombre de la rama” , también se puede con el comando git switch “nombre de la rama” . Solo como un dato extra para todos.

Ubuntu 19 no trae gitk instalado junto a git, acabo de probar. Pero se instala
sudo apt-get install gitk
y listo

¡Y por si ajá! Si creaste una rama antes de hacer el commit en master y borrar algunos archivos que necesitas en la rama que vas a trabajar puedes borrar la rama que creaste con

git branch -d nombreRamaAEliminar

Si esto no funciona puedes forzarlo con:

git branch -D nombreRamaAEliminar

Gitk fue el primer visor gráfico que se desarrollo para ver de manera gráfica el historial de un repositorio de Git.

Recapitulando:

  • git init: genera el repositorio donde estamos ubicados.

  • git add: agrega un archivo a la “lista de espera”, utilizando el comando “add .” (add espacio punto) agrega todo lo que este dentro del directorio.

  • git commit: genera un nodo a nuestro repositorio, se recuerda que antes del commit siempre y digo SIEMPRE, se debe de utilizar el comando “git add nombre archivo o punto”

  • git checkout: se utiliza para “saltar” entre commit. Si no puedes salir de un commit prueba utilizar “git checkout master” 😃

  • git status: le pido a GIT que me notifique si existen archivos que han sido modificado.

  • git log: me muestra los commit de la rama actual (me parece)

  • git branch “nombre”: genera una rama partiendo del commit actual, o donde esta la cabecera.

  • git merge “id commit”: le digo a GIT que voy a fusionar la rama del commit que estoy solicitando a la rama donde estoy actualmente.

  • git remote “nombre” “url”: le digo a GIT que voy a conectar con un repositorio remoto.

  • git pull “origin” “master”: servidor -> PC. Siempre utilizar este comando antes del push.

  • git push “origin” “master”: PC -> servidor.

  • git tag “id commit”: agrego al commit mencionado una etiqueta.

  • git tag “id commit” -d: borro la etiqueta del commit.

Espero que les sirva 😃

Si en ubuntu o linux no esta instalado gitk instalar el paquete

sudo apt install gitk

Cuando tenemos varias ramas creadas en nuestro repositorio local y queremos subirlas todas las que creamos tenemos la posibilidad de usar git push --all esto subirá automáticamente todas las ramas pero cuidado!!! (también subirá todos los cambios que tengamos preparados de todas las ramas )

Con git graph en VS Code pueden ver todo el arbol de ramas, los commits, comentarios y hasta los cambios que han sufrido en el codigo los archivos.
(

Igual y no le ha pasado a todo mundo, pero si como yo, estas usando alguna terminal distinta de la que viene con la instalación de git par windows o prácticamente estás usando una versión de Windows Subsystem for Linux quizás debas considerar instalar primero gitk:

 sudo apt install gitk

Ahora bien, estando en la carpeta de tu proyecto, para que abra el programa me funciono escribir:

gitk.exe

En mi ubuntu 18.04 gitk no estaba instalado.

sudo apt-get install gitk

Hola, si alguien está en Linux y en Distribuciones basadas en Debian (Debian, Ubuntu, elementary OS, etc.) si al hacer

gitk

Les dice command not found, pueden instalarlo haciendo

sudo apt install gitk

Y ya tendrán gitk, y recuerden, la terminal es la herramienta principa, Gitk solo una ayuda gráfica 😃

En mi terminal de linux estoy viendo que hay alias ya configurados por git entre ellos el del arbol:
glog = git log --oneline --graph

escriban alias en la terminal para ver todos los alias que hay configurados

git show-branch: Nos muestra las ramas que existen y su historia
git show-branch --all: Nos muestra las ramas que existen y su historia de manera más detallada
gitk: Abre en un software y nos muestra de manera visual las ramas e historia de nuestro proyecto

Aprendido: Como enviar y borrar ramas a github.
#1 creamos una rama (git branch name_branch)

#2 Enviamos la rama a github (git push origin name_branch)

#3 Para eliminar la rama localmente (git branch -d name_branch)
#4 Para eliminar la rama en github (git push --delete origin name_branch)

  • Para ver las ramas existentes (git show-branch --all)

Nuevos commit para manejar ramas:

  • git show-branch: muestra cuales son las ramas que existen y cual ha sido su historia.

  • git show-branch --all: muestra algo muy similar a git show-branch pero con mas datos.

  • gitk: abre en un software con la historia de una manera visual ahí se pueden ver los cambios que se han hecho, da una idea de como esta estructurado el proyecto en cabecera, master, etc.

Para saber que alias están creados solo basta con colocar en la terminal “alias” y te saldrán la lista de los que tienes.

Dejo ese dato por si acaso.

Para los que no tienen gitk instalado y al instalarlo y ejecutarlo les da el siguiente error:

application-specific initialization failed: no display name and no $DISPLAY environment variable
Error in startup script: no display name and no $DISPLAY environment variable
while executing
"load /usr/lib/x86_64-linux-gnu/libtk8.6.so Tk"
(“package ifneeded Tk 8.6.10” script)
invoked from within
"package require Tk"
(file “/usr/bin/gitk” line 10)

Probablemente es porque están usando WSL y no pueden usar gitk con WSL, porque el cliente gráfico en este caso es Windows, y Linux no puede ejecutar clientes gráficos en Windows, igual gitk no es tan importante

➡️ ¿Como eliminar una rama y que se vea reflejado en Github?

Creé una rama y la mande a Github (con gitpush) pero luego me di cuenta que no era esa la que quería. Asi que la elimine en Git local con:

git branch -d nombreRama

Luego hice git pull y push para que se envie a Github, pero en github seguía existiendo la rama, mientras que en mi local ya no.

Así que usé el comando :

git push origin -d nombreRama

y listo, la rama también se eliminó en Github. 😀

Para facilitarnos un poco la vida a la hora de hacer “push” en alguna branch les dejo este código!!

git checkout cabecera
git push --set-upstream origin cabecera

de esta manera queda configurado para que sólo con ejecutar el comando

git push

git ya sepa a cual branch en origin “pushear” jaja

Algo que no se menciona es que, si intentas hacer push a una rama que tiene el mismo nombre que un tag te va a dar un error:

error: src refspec base matches more than one

esto te obliga a especificar la locación; si entras a tu .git veras una carpeta llamada refs donde esta el head los tags y las direcciones remotas, en head estarán tus ramas y esta es la dirección que usaremos para referirnos a esa rama

$ git push origin refs/heads/nombreRama

tienes que tener cuidado con este comando ya que si agregas " : " antes de refs esto borrará dicha rama si es que se encuentra en tu repositorio remoto, así:

$ git push origin :refs/heads/nombreRama

si saben otra manera de hacerlo sería bueno saberlo yo solo encontré esta.

Para los que usan wsl, deberan ejectuar: cmd.exe /C gitk
Lo mismo si desean abrir un archivo html: cmd.exe /C chrome.exe blogpost.html

gitk no vino por defecto en ubuntu cuando instale git, pero para instalarlo pueden usar el comando sudo apt-get install gitk. Recuerden antes hacer sudo apt-get update

Como profesionales del código no olvidemos siempre usar todo en consola.

Este comando te permitirá borrar una rama local:

git branch -d <nombre de la rama> 

Este comando te permitirá borrar una rama remota:

git push origin --delete <nombre de la rama>

Resumen de la clase:
Los comandos de esta clase se basaron en el manejo de ramas para ver que se suban al repositorio remoto o cuáles existen, se utilizaron los siguientes:

$git show-branch (Muestra el listado de ramas creadas, con su historia)
$git show-branch --all (Muestra el listado de ramas creadas, con su historia y más detalles)
$git push origin _name_ (Envía al repositorio remoto la rama name)
$gitk (Apoyo de sfotware visual para ver la estructura del proyecto, ordena y decora la historia)

Espero que les ayude.

En mi ubuntu 18.04 gitk no estaba instalado.

sudo apt-get install gitk```

¿Alguien conoce infografías, documentación, resúmenes o algo así sobre Git para tener toda esta información para consultarla de forma rápida como apuntes? ¡Sería de gran ayuda!

¿Qué opinan de GitKraken?

Si por algun motivo se confundieron al escribir el nombre de la rama, como en mi caso, es muy facil arreglarlo.
Primero se van a la rama que le quieren cambiar el nombre con

<git checkout <su rama>>

luego con el siguiente comando le cambian el nombre

<git branch -m <nombre_nuevo>>

Tengo que contarles esto… Se me ocurrió hacer todo el proyecto en la carpeta donde también estoy guardan mis notas que es un word cualquiera… Lo gracioso es que cada vez que agrego algo a mis notas debo añadir todo, hacer el commit, el pull el push, la rama… Debería sacar mis notas de la carpeta o sigo practicando? jaja un abrazo 😃

me encanta tener que usar la consola sobre todo porque la gente piensa que soy inteligente jajaja

No se si alguien ya lo escribio debajo pero pueden enviar varias ramas en el mismo comando. con
git push origin master branch1 branch2 branch3 branch4

y asi las que quieran, y tambien está super interesante poder traerse algún archivo individual de una rama a otra con el siguiente comando
git checkout nombrederama nombredearchivo.extension // este comando trae el archivo solicitado a la rama donde estes actualmente y me parece super util, sino haces un commit antes de cambiarte de rama se mantendra el archivo en memoria ram borrado de todas las ramas, es importante hacer commit antes de cambiarte de rama para no tener que restaurar el archivo en otras ubicaciones y elimine el efecto de lo que has decidido borrar.

me encanta mucho este curso, freddy ha explicado muy bien git y github, he tomado nota y si cualquier cosa se me olvida, repaso el video donde explica x tema y listo, con esto puedo controlar los proyectos de mi equipo para mi nuevo emprendimiento

Hola a todos, para aquellos que usen Linux, gitk no esta instalado por defecto, ni tampoco se instala con git. Dependiendo de la distribución que utilicen el comando para instalar va a ser diferente pero el paque en sí, tendrá el mismo nombre gitk. En mi caso uso Ubuntu se puede usar:

sudo aptitude install gitk
o
sudo apt install gitk

Me sorprendió esta útil herramienta gráfica que tenía git bajo la manga, la verdad no la conocía. Sabía de algunas comerciales como Git-Kraken o libres como Git-Extensions.

Aquí Freddy se equivocó sobre el comando gitk

Command 'gitk' not found, but can be installed with: sudo apt install gitk

y hay una pregunta mal formulada en el examen que la perdí, porque no viene instalado por defecto, al menos en mi terminal de Linux y eso que yo actualicé e hice Upgrade de los paquetes.

Hola! Yo tuve problemas para poder hacer el

GIT PUSH ORIGIN HEADER 

<GIT PUSH ORIGIN FOOTER>


A la hora de ingresarlo en Github porque ahora pide un token personal, pero la manera de hacerlo es muy sencillo.

Dan el comando en la terminal, les pedirá USUARIO, meten su correo, después contraseña y ahí pegan el token de acceso personal.

Para crear el TOKEN DE ACCESO PERSONAL de Github solamente es ir a CONFIGURACIÓN =>DEVELOPER SETTINGS => FINE GRAINED TOKENS y ahí generan uno.

Es todo! Exito!

Trabajo con el IDE Visual Studio, el cuál lo tengo integrado al GitLab en un servidor (propio de la empresa), Esta integración permite de forma visual el manejo de los comando add, commit, pull, push, branch, etc. Es importante saber las bases en la consola para saber que estamos haciendo visualmente.

Nuevos commit para manejar ramas:

  • git show-branch: muestra cuales son las ramas que existen y cual ha sido su historia.

  • git show-branch --all: muestra algo muy similar a git show-branch con mas datos.

  • gitk: abre un IDE para git con la historia de una manera visual ahí se pueden ver los cambios que se han hecho, da una idea de como esta estructurado el proyecto en cabecera, master, etc.

🟢**Duda existencial:** Existe alguna razón para ir a la rama cabecera para enviar desde ahí el push al repo remoto sabiendo que desde la rama master puedes enviarla (_git push origin cabecera_) sin problema?🤔

Pero Freddy!
Si gitk estuvo ahí ¿por qué nunca me lo contaste?
Me siento traicionado!

Branch GitHub: Puedes trabajar con ramas que nunca envías a GitHub, así como pueden haber ramas importantes en GitHub que nunca usas en el repositorio local. Lo importante es que aprendas a manejarlas para trabajar profesionalmente.

* Crear una rama en el repositorio local: git branch nombre-de-la-rama o git checkout -b nombre-de-la-rama.
* Publicar una rama local al repositorio remoto: git push origin nombre-de-la-rama.

IMPORTANTE, Recuerda que podemos ver gráficamente nuestro entorno y flujo de trabajo local con Git usando el comando gitk.


Verificar ramas en Git y GitHub:

  • git show-branch --all, Nos muestra tanto como la version en linea de GitHub, hasta la version local

Queremos lo mejor para ti, jajajaja gracias freddy ❤️

Está bien acostumbrarse a la consola, de esa manera te volvés experto si o si !! siempre y cuando lo uses claro je!

Vaya gitk me sorprendió, no tenia conocimiento de que existía y se podía ver de forma gráfica.

Recordar: Siempre hay que traer la ultima versión.

git pull origin master

Estoy usando ohmy zsh y no me abre gitk 😦

e intentado instalar gitk pero no me abre ):

Al hacer un git pull origin master me da error. Dice que no puede sincronizar con Git Hub. Pero me aparece la rama Origin? Que estoy haciendo mal?

para cambiar el nombre de master a main

git branch -m <nuevo-nombre>```

$ git show-branch
Lista cada una de las ramas que existen en tu repositorio local y su último commit realizado, muestra con asterisco la rama en la cual estás actualmente; las ordena alfabéticamente.
Saludos 😃

Para instalar gitk en Ubuntu me sirvieron estos pasos:

  • Actualizar
sudo apt update
sudo apt upgrade
  • Instalar
sudo apt install gitk
sudo apt update -y
sudo apt install -y gitk
  • Si quieres remover los paquetes
sudo apt remove gitk

Un aporte para los que usamos LINUX, gitk no esta instalado por defecto en todas las distribuciones, se tiene que instalar:

sudo apt install gitk (para debian y derivadas)
sudo dnf install gitk (para redhat y derivadas)
sudo pacman -Sy gitk (para arch y derivadas)
Slackware al parcer si lo trae por defecto

Datazo sobre gitk:
Freddy menciona que se instala de forma automatica, pero esto no es verdad.
Se instala por defecto en Windows y macOs, no en Linux.
Por lo que pude averiguar esto sucede porque que instala de forma automatica con git bash.
Ojala alguien vea esto, porque se ira al fondo. Éxitos

git show-branch --all -> Muestra el historial de branches en el local

Usando la consola uno se ve mas pro!!

gitk No viene instalado en Debian 10 😦

Chicos, por otra parte para no hacer el comando 2 veces pordemos hacer lo siguiente.

git push origin header footer

Git checkout cabecera me devuelve a cabecera y me cambia todos los archivos en mi disco duro.
git branch me muestra todas las ramas que en este momento existen.
Arbolito: lo creamos hace un rato y me muestra la historia de esas ramas, de abajo hacia arriba donde arriba es lo mas reciente y abajo es lo mas viejo.
Hay otro par de comandos importantes para manejar ramas:
Git show-branch que nos muestra cuales son las ramas que existen y cual ha sido su historia.
Git show-branch --all que nos va mostrar algo muy similar pero con un poco mas de datos.
Gitk hace es abrirte en un software esa historia de una manera ultravisual de históricamente que ha pasado y darte una idea de como esta estructurado tu proyecto en cabecera, en master, etc
Git Branch hay dos ramas master y cabecera, no hemos enviado cabecera
Git pull origin master, recuerden porque hay que traer la última versión
Git checkout cabecera, nos movemos a nuestra rama de cabecera
Git push origin cabecera, vamos a empujarle a origin que es el nombre de nuestra rama en internet la rama cabecera, luego enter y vas a github y aparece cabecera.
Crearemos un par de ramas mas, creemos nuestras ramas de trabajo header y footer.
Git checkout master, volvemos al master
Git branch header, se hace desde ahí porque es la versión mas reciente
Git Branch footer , con eso ya tengo los branches creados.
Git Branch, me muestra master, cabecera footer y header.
Los voy a enviar a internet para que si alguien copia de internet estos datos ya los tiene muy claro.
Git push origin header, esto va enviar mi rama header
Git push origin footer, esto va enviar mi rama footer

Manejo de ramas en GitHub

  • Primero puede cambiar de rama

git checkout nombre-de-larama

  • Revisar las ramas que existen

git branch

  • Cuales don las ramas que existen y cual es su historia

git show-branch

git show-branch --all

  • Ver todo la historia de manera visual

gitk

como cuando te quedas así 😮 al ver todo lo que vas aprendiendo aquí que en la U, sorprendente!!
#NuncaparesdeAprender

si les gusta mucho sublime text les recomiendo esta herramienta que se llama “sublime merge” es una interfaz visual de git muy completa, siempre es bueno usar la consola aunque tener una interfaz visual te puede ahorrar un poco de tiempo y es un poco mas cómodo a la vista que la consola.
Igual es bueno aprender como funcionan todos los comandos en la consola antes de usar una interfaz visual, así sabes como funcionan todos estos programas por detrás y te ayuda a desenvolverte mas fácilmente usando estas aplicaciones.

Para aquellos que estén en Mac con un versión reciente de MacOS y no les corra el comando gitk, simplemente deben instalar git-gui, lo hacen desde la terminal de comandos escribiendo:

brew install git-gui

Espero les sirva 😄


Manejo de ramas en GitHub


En Git, las ramas son un mecanismo importante para trabajar en diferentes versiones de un proyecto. Las ramas te permiten trabajar en una versión separada del código sin afectar la rama principal o el código base. En este sentido, cada rama es como una línea de tiempo separada, y puedes cambiar entre ramas para trabajar en diferentes características o solucionar diferentes problemas.
.


Gestionar una rama


Primero, debemos estar ubicados en el lugar donde deseamos hacer una ramificación. Luego ejecutamos el siguiente comando:
git branch <branch_name>
.
Ahora podemos cambiar a esa rama con git checkout <branch_name>
.
Podemos combinar estos dos comandos de la siguiente manera:
git checkout -b <branch_name>
.
También podemos modificar o eliminar la rama que creamos:

  • Cambiar nombre: git branch -m <new_branch_name>
  • Eliminar la rama: git branch -d <branch_name>
    .

Sincronizar ramas en remoto


Primero debemos asegurarnos de tener la última versión del repositorio remoto en nuestro repositorio local con git pull <remote> <branch_name>.
.
Luego, podemos enviar nuestros cambios a la rama remota correspondiente ejecutando el siguiente comando:
git push <remote> <breanch_name>
.


Gitk


Gitk es una herramienta de visualización de repositorios de Git que permite ver el historial de cambios, ramificaciones y fusiones. Es una herramienta muy útil para tener una vista gráfica de la historia de un repositorio y para entender mejor cómo se han realizado los cambios en el código a lo largo del tiempo. Podemos acceder a esta herramienta mediante el comando gitk.

Instale en la Terminal el Git K de 02 formas, busque en la documentacion, me eche un clavado en Stack Overflow y no encontre nada, no logre que funcionara, me siento traicionado…

Sin embargo probe con Git Kraken y me gusto mas jaja el problema es la version de prueba de 06 dias 😥😥😥

bueno a en mi caso el gitk, que viene por defecto con git. no vino

Aquí los que nos sentimos traicionados cuando freddy presento a gitk

en VS Code hay una extension que es Git Graph, y es muy parecido a gitk y bien ordenado

Si no tienes gitk instalado y usas una distro de linux basada en debian usa:
sudo apt install gitk

Nota muy importante: recuerda los profesionales, trabajan en consola.

que raro, yo no tengo gitk en linux, tal vez solo sea para windows.

No estoy 100% de acuerdo con que los desarrolladores profesionales usan solamente consola para interactuar con git. Hay productos visuales muy buenos como sourcetree que permiten hacer las tareas basicas del dia a dia y en mi opinión aumentan la productividad y velocidad de los desarrolladores.
Ahora, habiendo dicho esto, es absolutamente importante entender y saber los comandos por consola porque muchas veces con las herramientas visuales no se pueden solucionar determinados problemas. Ademas es util conocer los comandos para poder interactuar con un repo de git via scripting(por ejemplo en un entorno de integracion continua)

git show-branch : nos muestra las ramas y su historia
git show-branch --all : nos muestra e forma mas detallada las ramas
gitk : nos muestra una version grafica de nuestra historia
git checkout -b nombrederama : con esto podemos crear y saltar a una rama a la vez