Introducci贸n a Git

1

驴Por qu茅 usar un sistema de control de versiones como Git?

2

驴Qu茅 es Git?

3

Instalando Git y 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 y los repositorios? Ciclo b谩sico de trabajo en Git

11

驴Qu茅 es un 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

Cambios en GitHub: de master a main

19

Uso de GitHub

20

C贸mo funcionan las llaves p煤blicas y privadas

21

Configura tus llaves SSH en local

22

Conexi贸n a GitHub con SSH

23

Tags y versiones en Git y 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

Git Stash: Guardar cambios en memoria y recuperarlos despu茅s

37

Git Clean: limpiar tu proyecto de archivos no deseados

38

Git cherry-pick: traer commits viejos al head de un 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

Crea un repositorio de Git y haz tu primer commit

8/43
Recursos

Le indicaremos a Git que queremos crear un nuevo repositorio para utilizar su sistema de control de versiones. Solo debemos posicionarnos en la carpeta ra铆z de nuestro proyecto y ejecutar el comando:

git init

Recuerda que al ejecutar este comando (y de aqu铆 en adelante) vamos a tener una nueva carpeta oculta llamada .git con toda la base de datos con cambios at贸micos en nuestro proyecto.

Recuerda que Git est谩 optimizado para trabajar en equipo, por lo tanto, debemos darle un poco de informaci贸n sobre nosotros. No debemos hacerlo todas las veces que ejecutamos un comando, basta con ejecutar solo una sola vez los siguientes comandos con tu informaci贸n:

git config --global user.email "[email protected]"
git config --global user.name "Tu Nombre"

Existen muchas otras configuraciones de Git que puedes encontrar ejecutando el comando git config --list (o solo git config para ver una explicaci贸n m谩s detallada).

Si quieres ver los archivos ocultos de una carpeta puedes habilitar la opci贸n de Vista > Mostrar u ocultar > Elementos ocultos (en Windows) o ejecutar el comando ls -a.

Comandos para iniciar tu repositorio con Git

  • git init: para inicializar el repositorio git y el staged
  • git add nombre_del_archivo.txt: enviar el archivo al staged
  • git status: ver el estado, si se requiere agregar al starget o si se requiere commit
  • git conf: para ver las posibles configuraciones
  • git conf --list: para ver la lista de configuraciones hechas
  • git conf --list --show-origin: para mostrar las configuraciones y sus rutas
  • git rm --cached nombre_del_archivo.txt: para eliminar el archivo del staged(ram)
  • git rm nombre_del_archivo.txt: para eliminar del repositorio

Si por alg煤n motivo te equivocaste en el nombre o email que configuraste al principio, lo puedes modificar de la siguiente manera:
git config --global --replace-all user.name 鈥淎qu铆 va tu nombre modificado鈥
O si lo deseas eliminar y a帽adir uno nuevo
git config --global --unset-all user.name :Elimina el nombre del usuario
git config --global --add user.name 鈥淎qu铆 va tu nombre鈥

Aporte creado por: Brand Huatarongo

Aportes 1046

Preguntas 408

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

驴No te funciona el comando code en tu terminal?

  • Abre Visual Studio Code
  • Presiona cmd + shift + p 贸 si est谩s en windows ctrl + shift + p
  • Busca una opci贸n que diga lo siguiente: Shell Command: Install 'code' command in $PATH
  • Selecci贸nala

Y listo, podr谩s utilizar dicho comando.

comandos de git aprendidos en esta clase:

  • git init: lo usamos para determinar la carpeta en la que vamos a trabajar.

  • git status: lo usamos para saber si tenemos un archivo a帽adido o borrado en nuestro proyecto, para saber en la rama en la que estamos y si tenemos commits.

  • git add: es para a帽adir un archivo a nuestra rama seguidamente ponemos entre comillas el nombre de nuestro archivo o poner un punto para a帽adir todos los archios de nuestra carpeta.

  • git rm: lo usamos para borrar un archivo que hayamos a帽adido, para eliminarlo por completo de nuestra rama usamosgit rm --cached.

  • git commit: se usa para a帽adir un commit a nuestra rama, tambi茅n podemos ponerle un -m seguidamente ponemos entre comillas nuestro ensaje.

  • git config: muestra configuraciones de git tambi茅n podemos usar 鈥搇ist para mostrar la configuraci贸n por defecto de nuestro git y si a帽adimos --show-origin inhales nos muestra las configuraciones guardadas y su ubicaci贸n.

  • git config --global user.name: cambia de manera global el nombre del usuario, seguidamente ponemos entre comillas nuestro nombre.

  • git config --global user.email: cambia de manera global el email del usuario, seguidamente ponemos entre comillas nuestro nombre.

  • git log: se usa para ver la historia de nuestros archivos, los commits, el usuario que lo cambi贸, cuando se realizaron los cambios etc. seguidamente ponemos el nombre de nuestro archivo.

inhales again

uuuuuuffff si que me cost贸 escribir esto

Espero les sea de ayuda! 馃槃

Freddy: La carpeta proyecto1

Yo: no lo digas, no lo digas

Yo:

DATO

Ese numero largo (40 caracteres) se llama SHA (Secure Hash Algorithm, Algoritmo de Hash Seguro) y es un ID unico que se crea para cada commit.

Quiz谩s no sea muy est茅tico XD, pero es un breve resumen de algunos de los comandos utilizados hasta el momento.

Buena frase: 鈥淟a Gente que NO sabe GIT es porque no sabe que hacer ante los Errores鈥

Aqu铆 un peque帽o resumen de los comandos usados frecuentemente en Git

Comandos en Git (La gu铆a completa)

鈥 pwd: Nos muestra la ruta de carpetas en la que te encuentras ahora mismo.
鈥 mkdir: Nos permite crear carpetas (por ejemplo,聽mkdir Carpeta-Importante).
鈥 touch: Nos permite crear archivos (por ejemplo,聽touch archivo.txt).
鈥 rm: Nos permite borrar un archivo o carpeta (por ejemplo,聽rm archivo.txt).
Mucho cuidado con este comando, puedes borrar todo tu disco duro.
鈥 cat: Ver el contenido de un archivo (por ejemplo,聽cat nombre-archivo.txt).
鈥 ls: Nos permite cambiar ver los archivos de la carpeta donde estamos ahora mismo.
Podemos usar uno o m谩s argumentos para ver m谩s informaci贸n sobre estos archivos (los argumentos pueden ser聽鈥撀+ el nombre del argumento o聽-聽+ una sola letra o shortcut por cada argumento).

-ls -a: Mostrar todos los archivos, incluso los ocultos.

-ls -l: Ver todos los archivos como una lista.
cd: Nos permite navegar entre carpetas.

-聽cd /: Ir a la ruta principal:

-聽cd聽o聽cd ~: Ir a la ruta de tu usuario

-聽cd carpeta/subcarpeta: Navegar a una ruta dentro de la carpeta donde estamos ahora mismo.

-聽cd 鈥β(cd聽+ dos puntos): Regresar una carpeta hacia atr谩s.

  • git init: Se crea staging en memoria ram y en el repositorio en HDD
  • git add: trakea cambios en el staging
  • commit: cambios en el repositorio
  • checkout: atrae cambios de alguna rama
  • git config --global user.email "[email protected]"
  • git config --global user.name 鈥淭u Nombre鈥

Mi resumen de esta clase:

$ git init  //Inicia Git dentro de la carpeta ra铆z de nuestro proyecto
$ git config // ver la configuraci贸n actual de git
$ git config --global  user.email "[email protected]" //Configurar tu email
$ git --global user.name "Tu Nombre" //Configura tu nombre de usuario
$ git code // Abre Vscode en Windows
$ git status //Muestra el estado acual de la base de datos 
$ git add _myfile.txt _//Agrega el archivo en Staging
$ git add .// Sube todo los archivos de la carpeta actual
$ git rm -- cached _myfile.txt_  // Elimina el archivo de la RAM sin eliminarlo de la carpeta
$ git commit -m "Primer commit de este archivo" //Sube el archivo al repositorio
$ git log _my file.txt_ //Puede ver todas las modificaciones del archivo asi como ver quien las hizo

Cambios at贸micos.

dure media hora, pero lo logre 鉂ゐ煠.
Cuando le das el comando
$git config --list
Git te pide鈥 no se que te pide sale toda la configuracion y solicita algun comando, supongo, le das Q + : para que te saque y te deje seguir escribiendo comandos.
Advertencia, no se si sea configuracion mia o qu茅, estoy haciendo el curso paso a paso con windows. Si te estancas, dale lo anterior y sigue xd

Si quieren crear una carpeta y al mismo tiempo inicializar un repositorio lo hacen con el comando

$ git init nombreCarpeta

Cuando instala por primera vez git debes hacer una configuraci贸n b谩sica y 茅stas son las siguientes:

  1. git config --global user.name 鈥淎qu铆 va tu nombre鈥

  2. git config --global user.email 鈥淎qu铆 tu correo electr贸nico鈥

  3. git config --global color.ui true Sirve para colorear la mayor parte de los resultados como por ejemplo git log.

  4. git config --list

Ahora si por alg煤n motivo te equivocaste en el nombre o email lo puedes modificar de la siguiente manera:

git config --global --replace-all user.name 鈥淎qu铆 va tu nombre modificado鈥

O si lo deseas eliminar y a帽adir uno nuevo
git config --global --unset-all user.name :Elimina el nombre del usuario
git config --global --add user.name 鈥淎qu铆 va tu nombre鈥

git init -->Para inicializar el repositorio git y el staged
git add nombre_del_archivo.txt 鈫 Enviar el archivo al staged
git status -->ver el stado, si se requiere agregar al starget o si se requiere commit
git conf -->para ver las posibles configuraciones
git conf --list -->para ver la lista de configuraciones hechas
git conf --list --show-origin -->para mostrar las configuraciones y sus rutas

Cuando instala por primera vez git debes hacer una configuraci贸n b谩sica y 茅stas son las siguientes:
git config --global user.name 鈥淎qu铆 va tu nombre鈥
git config --global user.email 鈥淎qu铆 tu correo electr贸nico鈥
git config --global color.ui true Sirve para colorear la mayor parte de los resultados como por ejemplo git log.
git config --list
Ahora si por alg煤n motivo te equivocaste en el nombre o email lo puedes modificar de la siguiente manera:
git config --global --replace-all user.name 鈥淎qu铆 va tu nombre modificado鈥
O si lo deseas eliminar y a帽adir uno nuevo
git config --global --unset-all user.name :Elimina el nombre del usuario
git config --global --add user.name 鈥淎qu铆 va tu nombre鈥

git rm --cached nombre_del_archivo.txt 鈫 para eliminar el archivo del staged(ram)
git rm nombre_del_archivo.txt 鈫 para eliminar del rep

Para quienes usan Max o linux 鈥渓s -la鈥 tiene una version resumida utilizando 鈥渓l鈥 (ele, ele) (>鈥库棤))

Comandos git:
git init: crea repositorio en carpeta actual: .git/
git status: ver estado del proyecto
git add <nombrearchivo> envia archivo a staging (nota: usando . puedes mandar toda la carpeta a staging)
git rm --cached <nombrearchivo> remueve el archivo de staging
git commit -m <mensaje>: envia el staging a repositorio con el mensaje
git config: configuraciones de git
鈥 list: lista configuraciones basicas de git
鈥搒how-origin : ubicacion de las configuraciones
鈥 global user.name <nombre> cambiar nombre del usuario
鈥 global user.email <email> cambiar email del usuario
git log <nombre archivo>: historial de commits del archivo

Nota

  • para letras de acceso rapido a un comando
    鈥 para palabras comando

Hola les dejo mis apuntes de la clase.
Flujo de trabajo de Git en nuestro repositorio local.

Aqu铆 les dejo mis apuntes:

$git init: inicializa el repositorio
$ls -al: lista los archivos ocultos creados despu茅s de inicializar repositorio
$git status: verificar el estado del repositorio(ver si hay cambios o no)
$git add file.txt: agrega el archivo a staging(RAM)
Nota:para sacar el file.txt de RAM, ejecutar **$git rm --cached file.txt rm(remover), indica remover de RAM, pero no eliminar archivo

$git config: muestra todas las configuraciones que tiene git.

Para conocer qu茅 usuario hizo commits
$git config --global user.name 鈥淛ohn Doe鈥
$git config --global user.email "[email protected]"
**$git log file.txt:**historia de los commits hechos

Tip: Es buena pr谩ctica dejar un mensaje a cada commit que se env铆a.

La pr谩ctica y el compartir conocimiento te convertir谩 en un profesional destacado
Latam para el mundo

Solamente les comento que en el comando git log existe el siguiente argumento:

git log --oneline

el cual mostrar谩 la informaci贸n m谩s resumida, con cada commit en una sola l铆nea

Por Buena practica ahora no se usa la rama (master) en cambio se usa la rama (main) en la documentaci贸n habla de que al momento de crear el repositorio desde la carpeta y en la linea de comando se pone :
git branch -M main
or
git branch -M master main
pero a mi no me permiti贸 hacerlo as铆, asi que si alguien presenta el mismo problema, que hice yo鈥
me fui a la carpeta oculta de .git ==> al archivo HEAD lo abri con block de notas y cambie la palabra master por main as铆 queda:

le das atr谩s (cd 鈥) y luego entras de nuevo a la carpeta del repo y ya veras los cambios de la palabra master por main

Yo鈥 no tengo ni idea de que esta pasando 馃槂

Comandos usados y aprendidos

   54  pwd
   55  git init
   56  code
   57  git status
   58  git add historia.txt
   59  git status
   60  git rm historia.txt
   61  git status
   62  git rm --cached historia.txt
   63  git status
   64  git add historia.txt
   65  git status
   66  git status
   67  git config --list
   68  git --list --show-origin
   69  git config --global user.name "Xtian"
   70  git config --global user.email "[email protected]"
   71  git --list
   72  git config
   73  git config list
   74  git config --list
   75  git commit -m "Este es mi primera versi贸n de mi historia"
   76  git status
   77  code historia.txt
   78  git status
   79  git add historia.txt
   80  git status
   81  git commit -m "agregando edad y gustos"
   82  git status
   83  git log historia.txt
   84  history

git init: activa git
ls- al: Muestra los archivos ocultos
code: abrir visual studio code
git status: muestra el estado del proyecto
git add: manda el archivo a memoria
git rm: elimina el archivo
git --cached: elimina de memoria el archivo(quita el add)
git commit -m 鈥渕ensaje鈥: Envia los cambios a repositorio
git config: configurar git
git config --list:muestra la configuraci贸n
git config --list --origin: muestra donde esta guardada la configuraci贸n
git config --global --user.name: introduce nombre de usuario
git config --global --user.email: introduce el correo
git log <archivo>: muestra el historial de cambios

Hola hice un paso a paso de clase

  1. Creamos una carpeta llamada proyecto1
  2. Le damos el comando git init
  3. Le damos el comando ls -al y podemos ver las carpetas vac铆as y comprobar que efectivamente tenemos la de git
  4. Abrimos visual studio code y guardamos un archivo de texto y lo guardamos en la carpeta,
  5. Le damos git status y ahi vemos cuales son los archivos que a煤n no se han trackeado
  6. Luego la damos git add para empezar a trackearlo
  7. Lo sacamos dandole git rm 鈥攃ached

** Nota
Cached - Significa que esta en memoria RAM - no en GIT

  1. Le damos Commit y enviamos al repositorio
  2. Configuramos quien somos nosotros para poder determinar quien hizo que
  3. Le damos el siguiente comando Git config - para mostrar la configuraci贸n

** Nota

Git Config - nos da los comandos principales de GIT

  1. Le damos el comando GIT config - - list para poder ver la configuraci贸n por defecto de nuestro Git - esto para ver el nombre y correo del usuario
  2. Le damos el comando GIT config - - list - - origin y ahi sabemos donde est谩n guardadas las configuraciones - casos m谩s avanzados
  3. Le damos GIT consigo - - global eso lo usamos para cambiar todos los usuarios global
  4. Para cambiar el nombre en la configuraci贸n y el email le damos el siguiente comando:
  5. Cambiamos el archivo historia.txt - eso lo podemos hacer con el comando CODE
  6. Usamos el comando CAT historia.txt - para ver el contenido del archivo - pero no puedo modificarlo
  7. Hacemos los cambios y guardamos - ahora cuando hacemos git status el reconoce que se modifico el archivo
  8. Hacemos un nuevo commit - PERO NO PASA NADA! SIEMPRE LOS CAMBIOS DEBEMOS AGREGARLOS CON EL BOTON DE ADD
  9. Hacemos el comando ADD . -> El punto al final lo que hace es que agregamos todos los archivos de una vez
  10. Ahora si podemos entrar a hacer el commit
  11. Para ver toda la historia le damos git log historia.txt

RESUMEN


  1. Cuando estamos en la carpeta o directorio principal de nuestros archivos podemos ejecutar el comando:
git init
  1. Si queremos abrir Visual Studio Code desde el terminal Git Bash podemos ejecutar el comando:
code
  1. Si quermos ver si hay algun archivo que se tenga que a帽adir o nos muestre que se a modificado un archivo etc. podemos ejecutar el comando:
git status
  1. Si queremos que nuestro archivo viva temporalmente en la memoria RAM podemos ejecutar el comando:
git add <nombre_archivo>
  1. Si queremos mandarlo a nuestro repositorio enviando un mensaje, ejecutamos
git commit -m "Mensaje"
  1. Cuandi un archivo esta viviendo en la RAM y queremos retirarlo, ejecutamos el comando:
git rm --cached <nombre_archivo>

Para abrir un proyecto en sublime text desde la terminal, solo hay que ir desde la terminal a la carpeta que queremos abrir en sublime y escribir 鈥渟ubl .鈥 (sin las comillas) y se abrir谩 sublime text con el proyecto

git init: para crear el repositorio vacio de git
code: para abir visual studio
git status: para ver el estado de repositorio
git add: ppara saber que hay cambios que tienen que ser enviados
git rm: para borrar
git rm --cached: para borrarlo de la memoria ram
git commit: envia los cambios al repositorio
git commit -m " ": mensaje
git config: todas las opciones que tienen git
git config --list: configuacion por defecto de tu git
git config --list --show-origin: donde estan las configuraciones guardadas
-: para letras
鈥: para palabras
git config --global user.name " ": para cambiar el nombre
git config --global user.email " ": para cambiar el email
git add .: para agregar a la carpeta actual
git log: para ver todo lo que se ha hecho en el archivo

git add . (Agrega archivo a cache)
git rm --cached (Borra cambio de la cache)
git add .
git commit -m 鈥淐omentario鈥 (Guarda Cambios despues de un git add .)
git status (revisa el estado del archivo)
Comandos para identificarte: 
git config --global user.email "[email protected]"
git config --global user.name "Tu Nombre" 
git log (Para ver el historial de cambios)

Iniciar Git


git int


Iniciar Git



Configuraci贸n de Git


git config
git config --list
git config --list --show origin
git config --list --show-origin
git config --global
git config --global user.name 鈥淪C"
git config --global user.email "[email protected]


Configuraci贸n de Git



Agragar a la zona de preparaci贸n


git add Archivo.txt

git add .


Agragar a la zona de preparaci贸n



Ver estado


git status


Ver estado



Quitar de la zona de preparaci贸n*********


git rm --cached archivo.txt (Quitar de la zona de preparaci贸n).


Quitar de la zona de preparaci贸n*********



Realizar commint


git commit -m 鈥淓ste es el pimer commit de este archivo鈥


Realizar commint



Ver el historial de cambios del archivo


git log
git log Archivo.txt


Ver el historial de cambios del archivo


git show

vamos yo puedo yo puedo , no me voy a rendir 鈥 ufff

En git el uso de (-)
鈥: palabra
-: un comado.

Haciendo commit


  • Nos situamos en la carpeta del proyecto nuevo
  • Comando git init para iniciar un repositorio que guardara el historial de cambios del proyecto.
  • Autom谩ticamente se crea una capeta oculta llamada .git
  • Creamos los archivos archivo.txt
  • Comando git status para ver los cambios que faltan agregar al repositorio
  • Comando git add <archivo.txt> para agregar un archivo en especifico al stedsh
  • Comando git add . para agregar todos los archivos disponibles al stedsh
  • Comando git rm --cached archivo.txt retira el archivo agregado del stedsh
  • Comando git commit -m "Este es un mensaje" para confirmar que agregue los cambios al repositorio y va acompa帽ado de un mensaje (Colocar un mensaje es una buena practica para tener un seguimiento de los cambios que se han realizado)

Configurar GIT


Es importante configurar los datos para saber quien esta haciendo los cambios.
Si no configuramos los datos nos enviar谩 variables por defecto de windows

  • Comando git config nos muestra todas las configuraciones disponible de GIT
  • Comando git config --list muestra la configuraci贸n por defecto o informaci贸n de los datos ya configurados.
  • Comando git config --list --show-origin muestra el lugar (ruta) donde esta guardada la configuraci贸n
  • Comando git config --global user.name "Tu nombre" para cambiar el nombre de usuario
    (鈥揼lobal, se va a cambiar la configuraci贸n global de todos los usuarios)
    鈥 Comando git config --global user.email "Tu correo" para configurar el correo del usuario

Haciendo cambios a los archivos


  • Despu茅s de realizar cambios revisamos el status comando git status y nos mostrara los archivos modificados
  • Realizamos un 鈥渃ommit鈥 para agregar los cambios al repositorio

Ver la historia de los archivos


  • Comando git log <archivo.txt> Para ver los cambios
    • Se muestra el nombre de quien hizo los cambios y cuando fueron hechos
    • Se muestratag es el c贸digo interno para nombrar los cambios

pasos para agregar la terminal de git en windows a visual Studio code

1.-primero encontrar la ruta de la terminal

2.-darle click derecho y darle en propiedades para copiar la direcci贸n de git-bash.exe

3.-entrar en configuracion de Visual Studio Code (CTRL+,) o desde la pesta帽a file en la parte de preferencias

4.-buscar en configuracion: Integrated Automation Shell Windows y entrar

5.-a帽adir al archivo json lo sig ( 鈥渢erminal.integrated.git鈥: ) y pegar la ruta de la terminal de git

listo asi de facil puedes abrir la terminal git-bash desde visual studio code 馃槃

Algunos desarrolladores creen que porque el hash est谩 compuesto por 40 caracteres (160 bits) es posible encontrar 2 commits con el mismo hash. Sobre todo cuando se hacen miles de commits en proyectos tan grandes como linux (m谩s de 4M de commits).
Pero este riesgo es realmente m铆nimo, casi que insignificante. Un script a calculado la probabilidad de caer sobre una colisi贸n a lo largo de la vida de un repositorio con m谩s de 200 mil millones de commits. Esta probabilidad es inferior a 1.3x10e-26.
Es m谩s probable que un meteorito caiga sobre tu cabeza ( 1.96x10e-15 ) que de encontrar un conflicto en los objetos de Git.
En pocas palabras, el riesgo de conflicto es extremadamente insignificante que no deber铆a tenerse en consideraci贸n.

Resumen de la clase en t茅rminos de los comandos:

$git init (crea el repositorio)
$git  status (muestra el estado de la carpeta)
$git  add _archivo_ (agrega a archivo a Staging)
git rm --cached _archivo_ (Elimina al archivo de Staging)
$git commit (guarda los cambios en la base de datos)
$git add . (agrega a staging todos los archivos de la carpeta)
$git  log (muestra la historia en cuanto a commits del proyecto)
$git  log _archivo_ (muestra la historia en cuanto a commits de archivo)

En log encontraremos una serie de caract茅res extra帽os, este es el tag del commit, su nombre de referencia. El commit que contenga (Head->master) ser谩 el m谩s reciente.

Espero que les sirva.

Configurar git

Ver configuraciones de git

Git config

Ver configuraci贸n por defecto en forma de lista

Git config --list

Creando repositorio

Iniciar repositorio.

Git init

Agregar archivo a estado de staging (estado temporal)

Git add index.html

Agregar todos los archivos

Git add .

Remover o sacar de staging

Git rm index.html

Para borrar

Git rm 鈥揷ached index.html

Para ver el status del proyecto

Git status

Agregar el archivo al repositorio 鈥-m鈥 para escribir un mensaje

Git commit -m 鈥渆ste es el primer commit鈥

Trae los cambios a la carpeta

Checkout

Lanzar vs code desde la terminal

Code

Abir un archivo en en vs code

Code index.php

Para ver el contenido de un archivo utilizo

Cat index.html

Para ver la historia de un archivo

Git log index.php

Gracias por el v铆deo, Freedy. Continuo aprendiendo cosas nuevas, al principio del v铆deo cuando explico lo relacionado al commit, Git me permiti贸 hacerlo sin ning煤n problema y despu茅s me di cuenta que un usuario y correo ya se hab铆an asignado, supongo que esto se deb铆a a la configuraci贸n que se creo cuando use GitHub de escritorio. Ac谩 dejo una imagen:

Saludos Freddy. Me encantan todos tus cursos pero quisiera decir algo en particular con respecto a este, yo vi el curso pasado de GiT con Leonidas y de verdad fue mi mejor experiencia dentro de Platzi y creo que hay varias fallas aqui(con mucho respeto) creo que si queremos empezar algun proyecto en git debemos empezar por las bases y creo que una de las primeras clases es detallar la importancia del git config --global y la importancia de este. preparar bien nuestro entorno y empezar a trabajar. creo que mas alla de comandos de git como add rm status log primero deberiamos aprender a crear desde el bash, comandos como touch, mkdir y ver un poco mas a detalle鈥 todo lo digo con animos de mejorar y por que comparando este curso con el de Leonidas el anterior en 10 clases ya te atrapa el curso y no te deja salir鈥 en cambio este es como que sabes que estas viendo una buen pel铆cula pero todav铆a sientes la intriga que no sabes que pasara鈥 espero que puedas tomar mi opini贸n de la mejor forma por que tenia necesidad de decirla

Entendido

git init
git config --list
git config --list --show-origin 
git config --global user.name "DBZ"
git config --global user.email "[email protected]"

git status
git add historia.txt
git rm historia.txt
git rm --cached historia.txt
git commit -m "Este es el primer commit de este archivo"
git add ,
git commit -m "Cambio para reflejar la edad correcta"
git log historia.txt

AQUI MIS APUNTES DE ESTA CLASE, ESPERO Y LES SIRVAN 馃槃
Para crear un repositorio tienes que decir donde esta la carpeta central de tus archivos ( por ejemplo normalmente cuando desarrollas una pagina web es donde esta un archivo index.html )
git init Es para inicializar un repositorio.
git status Es para saber el estado del proyecto en ese momento.
git add Es para incluir los archivos en el stage area y empezar a hacer un seguimiento (tracked).
git rm --cached Sirve para quitar alg煤n archivo de tu base de datos de git, b谩sicamente quita un archivo de el stage area (untracked).
git commit Es el que envia los cambios al repositorio, es posible hacer commit y ya pero esto es una mala practica!, lo correcto es dejar un mensaje antes de enviarlo al repositorio: git commit -m 鈥淭u mensaje鈥.
git config Sirve para configurar git.
git config --list Podremos ver la configuraci贸n por defecto de tu git, as铆 como las cosas que te faltan configurar.
git config --list --show-origin Para ver donde est谩n las configuraciones guardadas (casos avanzados).
git config --global user. name 鈥淭u nombre鈥 Sirve para cambiar tu nombre de usuario en git.
git config --global user. email 鈥淭ucorreo @correo. com鈥 Sirve para cambiar tu email en git.
git log Para ver la historia de cambios de tu archivo.
HEAD Es la versi贸n mas actual o la que esta en cabecera.

Si olvidan poner mensaje al commit y entran al editor de texto vim, solo se oprime i para comenzar a escribir, Escape para salir del modo edici贸n, :w para guardar y :q para salir.

git config permite definir valores de configuraci贸n de Git a nivel de un proyecto global o** local**.

Una buena practica en platzi seria por cada curso crear un archivo apuntes.txt e e irlo trackeando en git en conjunto con los archivos del curso

Mis apuntes :3

Hola a todos yo ten铆a un lio, no se ejecutaba visual studio code desde git bash, hice la configuraci贸n agregando de la ruta y nada, el tema es que yo instal茅 Visual Studio Code - Insiders y para ejecutarlo hay que invocarlo como (Code-Insiders) espero les ayude este peque帽o aporte馃槑馃憤

A-t贸-mi-co, Se dice a-t贸-mi-co 馃槃

Con el comando git config --unset puedes borrar la propiedad que quieras borrar de la configuraci贸n.
Por ejemplo:
git config --global --unset color.ui
git config --global --unset core.editor
recuerda esto modifica el entorno global, es decir aplica para todos tus repositorios, para hacerlo de forma local (solo en el repositorio actual) agrega --local antes del --unset.

Tip: Estas configuraciones se encuentran en archivos de texto que igual puedes editar de forma directa si as铆 lo deseas, s贸lo ten mucho cuidad podr铆as romper algo

Rutas (Mac y Linux):

  • Configuraci贸n global: ~/.gitconfig
  • Configuraci贸n local: ./.git/config

Los comandos a utilizar basicos son los siguiente:

-git init : Para iniciar el repositorio.
-git add: para agregar a cached los cambios realizados a tu archivo.
-git commit: para agregar los cambios al repositorio (Es importante utilizar "git commit -m 鈥淢ENSAJE鈥 para agregrar un mensaje al agregar cambios al repositorio.
-git log: para verificar las diferentes versiones y cambios que le haz realizado a tu documentos (verificar commits).
-git config --global user.name: para cambiar el nombre.
-git config global user.email: para cambiar el email

Si ingresan en la terminal:

git config --global alias.superlog "log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all"

cada que ejecuten git superlog se ve m谩s c贸modo

muy bueno!! yo realice los cambios en el archivo desde vim, para aplicar lo visto en la clase de linea de comandos, igualmente con la creaci贸n de ese mismo

Una forma de salir de la ventana de comando cuando se olvide poner el mensaje al lanzar el commit es:

Dar clic en ESC篓y despu茅s escribir :wq

Recuerda que Git est谩 optimizado para trabajar en equipo, por lo tanto, debemos darle un poco de informaci贸n sobre nosotros. No debemos hacerlo todas las veces que ejecutamos un comando, basta con ejecutar solo una sola vez los siguientes comandos con tu informaci贸n:

git config --global user.email "[email protected]"
git config --global user.name 鈥淭u Nombre鈥

Crea un repositorio de Git y haz tu primer commit


  • Al utilizar el comando git init se crea la estructura de carpetas utilizada por git para el repositorio
    • La carpeta se llama .git y es una carpeta oculta, podemos verla con el comando ls -al
  • Al crear un archivo podemos ver con git status en que estado se encuentran dichos archivos y git nos indica si a煤n no se ha agregado con git add o si ya est谩n en la staging area
  • git rm 鈥攃ached <archivo>: cached significa que est谩 en memoria ram (staging), sirve para quitar los cambios a帽adidos con git add del staging
  • git config: muestra todos los posibles usos del comando para configurar git
    • --list: muestra una lista con la configuraci贸n actual
    • --list --show-origin: muestra donde est谩n guardados los archivos de configuraci贸n (usuarios avanzados)
    • --global user.name "<usuario>": configura un nombre de usuario en git para ser usado en todos los repositorios
    • --global user.email "<correo>": configura el correo del usuario para ser usado en todos los repositorios

Es necesario configurar el nombre de usuario y el correo en git para poder realizar commits

  • git log <archivo>: muestra un historial de todos los commits realizados en dicho archivo
  • Para crear un repositorio usamos el comando
<$git init>

Una vez ejecutado el comando, podemos verificar la creci贸n del repositorio solicitando a la consola que nos muestre el contenido del directorio, incluido los archivos ocultos, usando el comando

<$ls -al>
  • Para visualizar el estatus del proyecto utilzamos el comando
<$git status>
  • Para cambiar el estado de un archivo de 鈥渦ntracked鈥 a 鈥渢racked鈥 usando el comando
<$git add archivo.txt>
  • Para cambiar del estado actual al estado anterior un archivo usamos el comando
<$git rm --cached archivo.txt>
  • Para mover el archivo al repositorio usamos commit, una buena pr谩ctica es dejar un comentario para inidicar los cambios realizados, el comentario se agrega utilizando un argumento especial (-m), y el comentario debe ir entre comillas
<$git commit -m "Comentario">

Para poder ejecutar un commit correctamente, es necesario completar las configuraciones de usuario de git

  • Para visualizar los comandos disponibles en la configuraci贸n de git utilizamos
<$git config>
  • Para visualizar las configuraciones actuales usamos
<$git config --list>
  • Para visualizar la ubicaci贸n de las configuraciones de git utilizamos
<$git config --list --show-origin>
  • Para cambiar el usuario de git utilizamos
<$git config --global user.name "Nombre de Usuario">

El nombre de usuario que se usar谩 debe estar dentro de comillas

  • Para cambiar el correo electr贸nico del usuario de git utilzamos
<$git config --global user.email "Correo electr贸nico">

El correo electr贸nico que se usar谩 debe estar dentro de comillas, en ambos casos la palabra 鈥揼lobal indica el cambio en todos los usuarios globales de git

  • Para visualizar el contenido de un archivo desde la consola usamos el comando
<$cat archivo.txt>
  • Para registrar correctamente los cambios realizados dentro de un archivo en git y que estos se vean reflejados en el repositorio es necesario seguir ejecutar los comando en el siguiente orden
<$git add arcihvo.txt
$git commit -m "comentarios de cambios">
  • En caso de que queramos ejecutar un comando a todos el contenido de un directorio, podemos utilizar el signo punto (.), ya que en git punto es sin贸nimo del directorio actual en el que estemos ubicados
<$git add .>
  • Para revisar el historial de cambios de un archivo en git, usamos el comando
<$git log>

Notas adicionales

  • En git el uso de un solo gui贸n (-) indica el uso de un comando de acceso r谩pido
<$-al
$-m>
  • En git el uso de un dos guiones () indica el uso de palabras
<$git config --global user.name
$git config --list>
  • El uso de la palabra 鈥揷ached hace referencia a algo ubicado en la memoria RAM

al fin una explicaci贸n sobre lo que significa un gui贸n y dos guiones

Aqu铆 les dejo un post sobre c贸mo escribir el comentario para su commit.

Les comparto mis notas de la clase

Hasta ahora esto es lo que yo s茅 de git, 隆de aqu铆 en adelante todo ser谩 nuevo!

A veces podremos tener alg煤n tipo de archivo que no quieres que Git a帽ada autom谩ticamente o m谩s a煤n, que ni siquiera quieras que aparezca como no rastreado. Este suele ser el caso de archivos generados autom谩ticamente como trazas o archivos creados por tu sistema de compilaci贸n. En estos casos, puedes crear un archivo llamado .gitignore que liste patrones a considerar. Este es un ejemplo de un archivo .gitignore:

$ cat .gitignore
  *.[oa]
  *~

La primera l铆nea le indica a Git que ignore cualquier archivo que termine en 鈥.o鈥 o 鈥.a鈥 - archivos de objeto o librer铆as que pueden ser producto de compilar tu c贸digo. La segunda l铆nea le indica a Git que ignore todos los archivos que terminen con una tilde (~), la cual es usada por varios editores de texto como Emacs para marcar archivos temporales.

Seg煤n el libro progit un commit es la forma en que Git confirma que todo lo que se haya rastreado o a帽adido con git add . va a ser escrito en la base de datos del proyecto git.

Para empezar tenemos que saber que es un repositorio y un commit.
銋ゃ叅
Un repositorio es una base de datos de nuestro proyectos, es decir el conjunto de datos que conforman el proyecto.
銋ゃ叅銋ゃ叅
Un commit son los cambios en uno o mas archivos en nuestro proyecto.
銋ゃ叅
Para crear un repositorio vamos usar git init.
銋ゃ叅銋ゃ叅銋ゃ叅
Para a帽adir archivos a nuestro proyecto vamos a usar git add.
銋ゃ叅
Para ver el estado de nuestro repositorio usamos git status.
銋ゃ叅銋ゃ叅
Cuando hagamos un cambio en nuestros archivos usamos git add <nombre_del_archivo> para que git pueda registrar sus cambios.
銋ゃ叅
Luego para hacer el commit usaremos git commit -m "<Descripci贸n>" y se a帽adir谩.

A la hora de ejecutar

git status

me daba el error fatal: not a git repository (or any of the parent directories): .git .

Lo pude solucionar con ejecutando el comando

git init

Espero que les funcione.

Hola, si tienen problema con los directorios que tienen espacios, por ejemplo: "Curso de Platzi"
lo que pueden hacer para entrar a este directorio con el git Bash es hacer lo siguiente:
ejemplo: cd 鈥楥urso de Platzi鈥 y listo, el uso de las comillas les ayudara a entrar en archivos que tengan espacios.

Freddy, el unico profesor en el cual, ademas de no aumentar la velocidad del video, seguramente retrocediste unas 20 veces, lo cual el video de 10 minutos se te hizo de 30

Buenas. A m铆 no me funciona a la hora de hacer commit.

Esto es lo que me sale una vez lanzo el comando commit m谩s el mensaje editable.

$ git commit -m 麓麓Este es primer commit de este archivo麓麓
error: pathspec 鈥榚s鈥 did not match any file(s) known to git
error: pathspec 鈥榩rimer鈥 did not match any file(s) known to git
error: pathspec 鈥榗ommit鈥 did not match any file(s) known to git
error: pathspec 鈥榙e鈥 did not match any file(s) known to git
error: pathspec 鈥榚ste鈥 did not match any file(s) known to git
error: pathspec 鈥榓rchivo麓麓鈥 did not match any file(s) known to git

Los comandos b谩sicos para guardar un archivo en nuestro repositorio son:

  1. Git add: este comando puede ir acompa帽ado por el nombre del archivo o por .(punto), este indica que va a agregar toda la informaci贸n del repositorio en el que nos encontramos.
  2. Git status: este comando permite ver el estado en el que se encuentra la informaci贸n que vamos a agregar, cuando esta en color verde significa que ya esta listo para subir
  3. Git commit: este comando por buenas practicas se sugiere que vaya acompa帽ado por un mensaje, esto agregando -m 鈥mensaje鈥, de lo contrario puedes solo colocar git commit y este te har谩 el commit sin problemas pero al revisar no sabr谩s de que se trata
  4. Git push: este comando va acompa帽ado de la rama en la que vamos a subir los cambios, as铆: origin <rama>

Nota:

  • La primera vez al realizar un repositorio agregamos unos comandos que nos permiten darle a Git un poco de informaci贸n sobre nosotros, esto con el fin de identificar quien realiza los cambios, cuando se trabaja en equipo
  • Para eliminar o cambiar el estado de un archivo del repositorio se usa el comando gir rm <archivo>, pero si queda guardado en cache usamos git rm --cached <archivo>
  • En los flags cuando esta con un solo - indica que es la letra la que se usa, cuando esta o colocamos 鈥 usamos la palabra completa.

Un genio freddy, muy bien explicado todo.

pregunta, si uso dos servicios distintos de git como GitHub y bitbucket como puedo configurar el usuario y email si uso cuentas de correo distintas para los dos servicios?

Hola, en git config --list aparece mi email y user name pero al hacer el commit me aparece como si no estuviera. Alguien me puede ayudar por favor. Gracias.

Si quieren saltarse el paso de hacer el add, solo agreguen la bandera -a. Por ejemplo:

git commit -a -m "Freddy es un a帽o mas viejo"

Y autom谩ticamente se hace el add y el commit en un solo comando

En octubre de 2020, GutHub cambi贸 el branch por defecto de 鈥渕aster鈥 a 鈥渕ain鈥 para evitar referencias a la esclavitud:

https://www.xataka.com/aplicaciones/master-blacklist-mundo-software-se-rebela-referencias-a-esclavitud

https://www.zdnet.com/article/github-to-replace-master-with-main-starting-next-month/

驴C贸mo puedo solo cambiar el comentario de un commit?

En

git config --list

da la misma con -l

git config -l

Para este curso veo los videos dos veces y voy anotando todos los comandos en un Wordpad 馃槃

excelente dato, no sabia que se podia abrir visual studio tan rapido desde la terminal

Les anexo una liga de comandos elementales para git:

https://www.hostinger.mx/tutoriales/comandos-de-git

Si el archivo lo quieren modificar ahi mismo en consola, usen el comando 鈥渧i鈥 seguido del nombre del archivo, modifican y para salir pulsan esc :wq

Excelente, la verdad git me tenia frustrada鈥 pero ya entendi mejor 馃槃

Fam. Guzman Gonzalez@DESKTOP-IDM3MVO MINGW64 /c/users
$ mkdir proyecto2/
mkdir: cannot create directory 鈥榩royecto2/鈥: Permission denied

eso me indica cuando quiero hacer mi carpeta
驴Quien me puede ayudar?

git add . (Agrega archivo a cache)
git rm --cached (Borra cambio de la cache)
git add .
git commit -m 鈥淐omentario鈥 (Guarda Cambios despues de un git add .)
git status (revisa el estado del archivo)

Me parece que hay un error en la explicaci贸n, el comando 鈥済it rm鈥 (sin --cached) provoca un error en la terminal y no causa ning煤n cambio en el archivo involucrado, creo que la 煤nica forma de deshacer el proceso de 鈥済it add <file>鈥 es con 鈥済it rm --cached <file>鈥.

Comandos de GIT

git config --list //Lista las configuraciones
git config --global user.name "Mr Internauta"
git config --global user.email "[email protected]"
git init //Inicializar un directorio como un proyecto git
git add nombreArchivo.txt //a帽adir un archivo al staging
git add . //a帽adir todos los archivos al staging
git commit -m "mensaje (version1)" //A帽adir los cambios a la rama master(Se puede realizar el commit sin el mensaje pero es mala practica)
git status //ver el estado actual del proyecto
git log //ver los cambios del proyecto
git log nombreArchivo.txt //Se pueden ver los cambios de un archivo en particular

*Los $ no debes escribirlos

1)A帽ade tu usuario y email

$ git config --global user.name 鈥溾 a帽ades usuario.
$git config --global --unset-all user.name para eliminar el usuario.
$git config --global user.email 鈥溾 a帽ades tu correo.
$git config --global --unset-all user.email para eliminar el correo.
$git config -l o $git config 鈥揼lobal --list si quieres verificar que lo hiciste bien.

2)Crea el directorio

cd ~ para ir a la carpeta de tu usuario.
mkdir para crear el directorio.

3)Luego crea el repositorio (master) y staging.

$git init para crear el repositorio y staging, recuerda hacerlo en el directorio que creaste.
$rm -rf .git para eliminar el repositorio y staging.

4)Crea un archivo

$touch (recuerda a帽adir la extensi贸n de archivo: .txt)

5)Escribe en ese archivo

Puedes hacerlo desde tu editor de c贸digo o en el bloc de notas (NUNCA en Word).

6)Guarda el archivo en staging

$git add

7)Guarda el archivo en el repositorio(master)

$git commit -m 鈥溾 (recuerda dejar un mensaje).
$git commit . -m 鈥溾 para guardar todos los archivos que est茅n en staging en el repositorio.
$git commit historia.txt -m 鈥溾 para guardar un archivo especifico en el repositorio.

8)Verifica 

$git status para verificar el estado del archivo, debe decir 鈥渘othing to commit, working tree clean鈥

9)Cambia el archivo a unstaged 	

Luego de realizar el commit vuelve a modificar el archivo, gu谩rdalo y verifica su status, esto har谩 que est茅 unstaged (El archivo est谩 tracked, pero git desconoce qu茅 cambios hay), para solucionarlo repite los pasos 6 y 7

proyecto 1 no era un grupo de merengue?..disculpem, era solo el chiste malo del dia鈥

Lo mejor de este curso es que puedo aprender a mi ritmo, pausando y adelantando cuanto quiero. Gracias Freddy, buena clase.

Solo como aporte al momento de realizar la configuraci贸n.
git config --global user.name "Nombre"
git config --global user.email 鈥淓mail鈥

no importa desde que directorio estas ya que es una conguracion global en el sistema.

Me siento poderoso haciendo este curso!