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

脷ltima oportunidad para asegurar tu aprendizaje por 1 a帽o a precio especial

Antes: $249

Currency
$189/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscr铆bete

Termina en:

0D
6H
40M
30S

Uso de GitHub

20/43
Recursos

GitHub es una plataforma que nos permite guardar repositorios de Git que podemos usar como servidores remotos y ejecutar algunos comandos de forma visual e interactiva (sin necesidad de la consola de comandos).

Luego de crear nuestra cuenta, podemos crear o importar repositorios, crear organizaciones y proyectos de trabajo, descubrir repositorios de otras personas, contribuir a esos proyectos, dar estrellas y muchas otras cosas.

El README.md es el archivo que veremos por defecto al entrar a un repositorio. Es una muy buena pr谩ctica configurarlo para describir el proyecto, los requerimientos y las instrucciones que debemos seguir para contribuir correctamente.

Para clonar un repositorio desde GitHub (o cualquier otro servidor remoto) debemos copiar la URL (por ahora, usando HTTPS) y ejecutar el comando git clone + la URL que acabamos de copiar. Esto descargar谩 la versi贸n de nuestro proyecto que se encuentra en GitHub.

Sin embargo, esto solo funciona para las personas que quieren empezar a contribuir en el proyecto.

C贸mo conectar un repositorio de GitHub a nuestro documento local

Si queremos conectar el repositorio de GitHub con nuestro repositorio local, que creamos usando el comando git init, debemos ejecutar las siguientes instrucciones:

    1. Guardar la URL del repositorio de GitHub con el nombre de origin
git remote add origin URL
    1. Verificar que la URL se haya guardado correctamente:
git remote
git remote -v
    1. Traer la versi贸n del repositorio remoto y hacer merge para crear un commit con los archivos de ambas partes. Podemos usar git fetch y git merge o solo git pull con el flag --allow-unrelated-histories:
git pull origin master --allow-unrelated-histories
    1. Por 煤ltimo, ahora s铆 podemos hacer git push para guardar los cambios de nuestro repositorio local en GitHub:
git push origin master

C贸mo autenticarte en GitHub 2022

Antes de empezar debemos renombrar la rama 鈥榤谩ster鈥 a 鈥榤ain鈥, este es el nuevo est谩ndar en GitHub, para esto:

  1. Primero nos posicionamos en la rama a la que queremos cambiarle el nombre.
  2. Ejecutamos el siguiente comando: git branch -M main

Pasos para crear un token de acceso personal.

Desde el 2022 GitHub ya no deja hacer el push con la contrase帽a del propio GitHub, para esto tenemos que crear un token, y este token es la contrase帽a que vamos a colocar cuando nos pida clave.

Descubre el uso de tags en Github

Seguir la secuencia: Ingresamos a nuestra cuenta de GitHub.

  1. Buscamos Settings
  2. Click en Developer settings
  3. Click en Personal access tokens
  4. Click en Generate new token aqu铆 se puede colocar un nombre, la fecha de expiraci贸n.
  5. Tildar en repo y luego click en el bot贸n verde Generate token

Aporte creado por: Ana Rotela

Aportes 1518

Preguntas 737

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Ahora se viene lo chido

Si a ustedes no les sale el mensaje de que se tiene que traer los cambios y al intentar hacer el pull les dice que todo est谩 actualizado es porque GitHub cambi贸 su rama por defecto a 鈥渕ain鈥 y nosotros estamos trabajando con la rama master, por tanto GitHub lo est谩 tomando como un pull request (Porque sond iferentes ramas)

Para seguir esta clase deben borrar el repositorio en GitHub (Si ya lo ten铆an creado) y configurar su rama por defecto como master en:

https://github.com/settings/repositories

En el apartado 鈥淩epository default branch鈥 borran main y escriben 鈥渕aster鈥 y le dan al bot贸n de actualizar, despu茅s vuelven a crear su repositorio 鈥渉yperblog鈥 en GitHub y continuan la clase normal

Muchahos, a tener en cuenta:
GitHub en Octubre 2020 decide llamar la rama 鈥榤aster鈥 a rama 鈥榤ain鈥, lo que significa que en cuanto ha la clase han ocurrido unos cambios.
Al ejecutar el comando:

git push origin master

Estamos dici茅ndole a git que env铆e a origin(remoto) la rama 鈥榤aster鈥 de nuestro repositorio local. Por lo tanto, en GitHub se interpreta como adicionar una rama independiente llamada 鈥榤aster鈥 con su contenido a bordo, pero no se carga en la rama default de GitHub, debido a que su rama default ahora se llama 鈥榤ain鈥.
Para alinear el contenido de Freedy y la actualizaci贸n de GitHub, en la practica el comando para realizar el push seg煤n el nuevo est谩ndar seria:

git push origin master:main

En donde le estamos dici茅ndole a git que env铆e a origin(remoto) la rama 鈥榤aster鈥 de nuestro repositorio local hasta la rama 鈥榤ain鈥 del servidor remoto. De igual manera, dentro de esta nueva l贸gica:

git pull origin main --allow-unrelated-histories

En donde estamos trayendo desde el servidor remoto la rama 鈥榤ain鈥 fusionando las historias.
De tal manera que ya podemos continuar con el contenido de Freddy sin llegar a confundirnos.

Le铆 que GitHub se actualiz贸 porque cambi贸 su rama por defecto a 鈥渕ain鈥 y nosotros estamos trabajando con la rama 鈥渕aster鈥, como Freddy. Por eso siempre me aparec铆a un error pero pude solucionarlo aplicando lo siguiente:

_Resumen _

A seguir aprendiendo! 馃槂

DOS ACTUALIZACIONES IMPORTANTES A NOV 2021 CON ESTA CLASE DE GITHUB

  1. Al momento de conectar tu repositorio local con el repositorio remoto en Github, la consola te pide tu contrase帽a, por temas de seguridad el equipo de Github decidi贸 que en ese espacio no vas a poner tu Contrase帽a sino algo que llaman Personal Access Token. Literalmente lo copias de GitHub y lo pegas en la consola cuando te pida tu contrase帽a de GitHub.
  1. Como espero hayan le铆do en la clase 18, por temas de Racismo, Github dej贸 de utilizar la palabra 鈥渕aster鈥(asociada al concepto de Master-Slave que se usa mucho en todos estos temas de desarollo) y paso a usar la palabra 鈥渕ain鈥. Que quiere decir esto:
  • Cuando intentas hacer pull origin master鈥 le est谩s diciendo a GitHub, hey tr谩igase el branch master, y pues la consola al ver que no existe ning煤n branch llamado 鈥渕aster鈥 en GitHub te dice que todo okey, pero pues no te trajiste el archivo Readme. Entonces claramente no todo okey.
  • Cuando intentas hacer el push origin master鈥 le est谩s diciendo a GitHub hey cr茅ese un branch llamado master y ah铆 m茅tale esto que le estoy mandando.
  • En ambos casos, todo mal porque est谩s interactuando con un Branch que para GitHub no es el principal, el Branch Principal de GitHub se llama ahora 鈥渕ain鈥.
  • Qu茅 puedo hacer? -> Cambia el nombre de tu branch 鈥渕aster鈥 local a 鈥渕ain鈥
  • C贸mo puedo cambiar el nombre de un branch -> Ejecuta el siguiente comando en la consola = git branch -m oldName newName
  • Cada vez que Freddy diga/escriba 鈥渕aster鈥 para ti es 鈥渕ain鈥.
  • Repito -> Cuando en el curso Freddy diga o escriba 鈥渕aster鈥 tu lo vas a reemplazar por 鈥渕ain鈥.

Espero les sirva!

Si ustedes son igual de despistados que yo y pusieron la clave SSH en lugar de la HTTPS en el origin ejecuten 茅ste comando para que se borre lo que hicieron:

git remote remove origin

Hola quisiera compartir el siguiente link https://youtu.be/hlYkxZrdeBI , de acuerdo a la actualizaci贸n realizada por Git a partir de agosto del 2021 debemos crear un Token para poder realizar Push.

Esto cada vez se pone mejor

*******************
****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 "SC"
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 "Este es el pimer commit de este archivo"
git commit -am "Este 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*******
*****************************************************

***************************************************************
************Muestra todos los cambios sobre un archivo*********
***************************************************************

git show Archivo.txt

***************************************************************
************Muestra todos los cambios sobre un archivo*********
***************************************************************

**************************************
**********Comparar versiones**********
**************************************

git diff commint commint

**************************************
**********Comparar versiones**********
**************************************

*****************************************************************************
************************Volver a una versi贸n anterior************************
*****************************************************************************

git reset commit --hard (borramos todos los cambios y lo que tengamos en staging) 

git reset commit --soft (soft conservamos cambios y lo que tengamos en staging) 

git checkout (commit) Archivo.txt

git checkout (rama) Archivo.txt
*****************************************************************************
************************Volver a una versi贸n anterior************************
*****************************************************************************

****************************************************************************
**************************Ver Cambio en bytes*******************************
****************************************************************************

git log --stat(Cambio en bytes)

****************************************************************************
**************************Ver Cambio en bytes*******************************
****************************************************************************

***************************************************************************
****************************Crear una rama*********************************
***************************************************************************

git branch (branchName)

***************************************************************************
****************************Crear una rama*********************************
***************************************************************************


***************************************************************************
**************************Cambiar de rama**********************************
***************************************************************************

git checkout (branchName)

***************************************************************************
**************************Cambiar de rama**********************************
***************************************************************************

*******************************************************************
************************Merge entre branchs************************
*******************************************************************

git merge (branchName)

**Estar en la rama master o en la que se quiere dejar el <Head>**
*******************************************************************
************************Merge entre branchs************************
*******************************************************************

****************************************************
************Traer un repositorio externo************
****************************************************

git remote add origin (url)
git remote (muestra el origen)
git remote -v(es verval)

git pull origin master --allow-unrelated-histories (Fuerza la union de las diferentes historias)

git pull origin master (Descarga cambios)

git push (origin) (master) (Sube Cambios)
****************************************************
************Traer un repositorio externo************
****************************************************


Para los que tomen el curso en 2022 y ya no tengan soporte de contrase帽as tienen que ir a settings en github, despu茅s developer settings y ah铆 le dan a personal access token y esa es su contrase帽a que deben poner para conectarse con el servidor remoto

Para quienes estamos haciendo el curso despu茅s de Julio de 2020 antes de hacer el push ser铆a bueno cambiar el nombre de la rama master a main, es el nuevo est谩ndar para la rama por defecto en GitHub. Se hace as铆:

$ git branch -m master main

Subir Proyectos a git:
-Paso1:
git remote add origin YOUR URL
-Paso2:
git pull origin master
-Paso3:
git pull origin master --allow-unrelated-histories
"ESC"+鈥淪HIFF鈥+鈥淶Z鈥
-Paso4
git push origin master

Por si a alguien se le olvido (como a mi :v) esc shift z z para salir de vim.

La red social para Nerds. Es la primera vez que siento que no desperdicio mi tiempo usando una red social.

Deben actualizar esta clase ya que apartir de agosto 13 de 2021 Git hub a traves de git ya no acepta las operaciones basadas en nombre de usuario y contrase帽a de la cuenta de git hub.

POR FAVOR ES NECESARIO ACTUALIZAR LA CLASE
https://www.google.com/url?q=https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/&sa=D&source=hangouts&ust=1631988749472000&usg=AOvVaw3Ik3MRzpdpDzO4u6nP7SB4

Viendo este curso en el 2022, alguien m谩s?

Tom茅 esta clase 4 veces XD hasta que me sali贸

No se cuantas cosas toque para subir mi proyecto al repo pero cambie la rama 鈥榤aster鈥 a 鈥榤ain鈥 con el comando 鈥樷榞it branch -m main鈥欌 y luego en https://github.com/settings/repositories cambie 鈥榤aster鈥 por 鈥榤ain鈥.
Utilice el comando 鈥樷欌欌榞it pull origin main --allow-unrelated-histories鈥欌欌欌 para traer la version del repositorio remoto. Luego use 鈥樷榞it push origin main鈥欌 y pude subirlo, pero anteriormente me aparecian miles de errores. Espero haber podido ayudar a alguien. Mas que nada es para la gente que lo esta viendo en 2021 xD

Les comento lo que me pas贸 al hacer git push origin main. (ya le cambi茅 de nombre a la rama).
No ten铆a respuesta, nunca me sali贸 ninguna opci贸n para autenticarme, esto con Git Bash, luego me cambi茅 de terminal, us茅 la de Visual Studio Code y funcion贸, ya me visualiz贸 opciones para autenticarme.

Si creaste un repositorio en Github en 2022, debes tomr encuenta dos cosas:

  1. Debes debes hacer unas configuraciones en Git
# Primero: Guardar la URL del repositorio de GitHub
# con el nombre de origin
git remote add origin URL

# Segundo: Renombrar la rama master
git branch -M master main

# Tercero: Traer la versi贸n del repositorio remoto e
# hice el merge para crear un commit con los archivos
# de ambas partes.
git pull origin main --allow-unrelated-histories

# Cuarto: hacer el git push para guardar
# los cambios de nuestro repositorio local en GitHub:
git push origin main
  1. Debes crear un Token 鈥淧ersonal access tokens鈥 en Github
    Te puedes ayudar de este VIDEO

A partir del 13 de agosto de 2021, GitHub exige un token para autenticarse cuando se usa protocolo HTTPS. Para crear un token:
Settings/Developer settings / Personal access tokens

Copiar el token y pegarlo cuando pida la contrase帽a despu茅s del push
Username for 鈥https://github.com鈥: [email protected]
Password for 鈥https://[email protected]@github.com鈥: (pegar aqu铆 el token ejemplo ghp_xO4RK0xUJg3fAJMwc6ll1dOqvDWOkO16w3Dx)

En mi caso me aparecieron los siguientes errores:

! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/vhngroup/CursoGitPlatzi.git'

Soluci貌n:
Realizar primero un:

git fetch origin master

Luego al intentar nuevamente ejecutar el push, me apareci貌 este error:

! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/vhngroup/CursoGitPlatzi.git'

Soluci貌n:

git push -f origin master

Fuente:

Nota:
Cambiar de rama a master, por que la clase anterior nos dejo en cabecera

En el minuto 8:00 cuando quieran hacer el merge forzado con el repositorio les salga el siguiente mensaje

fatal: Need to specify how to reconcile divergent branches.

Tienen que insertar este comando

git config pull.rebase false

y a continuaci贸n el comando

git pull origin master --allow-unrelated-histories

En el minuto 8:06 para salir de la ventana deben presionar Shif + z, dos veces como lo explicaba en anteriores clases

Resumen de la clase:
En GitHub vamos a tener un repositorio remoto, el cu谩l queremos enlazar con nuestro repositorio local para subir y traer cambios. En GitHub debemos crear nuestro repositorio y para enlazarlo al repositorio local debemos copiar la direcci贸n _URL _dada en la pesta帽a **VERDE **clone or download, luego, pegar esta URL en el comando que sigue:

$git remote add origin _URL_ (Enlaza los dos repositorios)
$git remote  (Nos da el nombre del repositorio remoto)
$git remote  (Nos da el nombre con las opciones de fetch y push, es decir que est谩 habilitado)

Antes de subir a nuestro repositorio remoto, es necesario traer su historia al local, se utiliza el comando:

$git pull origin master (Trae las historias al repositorio local de origin, particularmente la rama master)
//Si hay historias no relacionadas no ser谩 exitoso, se soluciona con:
$git pull origin master --allow-unrelated-histories (Resuelve el conflicto de historias no relacionadas entre ambos repositorios)

Luego de que nosotros hagamos cambios en el local debemos subirlos al repositorio remoto para que nuestro equipo tenga acceso a estas historias, se utiliza el comando:

$git push origin master (Sube todo al repositorio remoto)

Espero que les ayude.


en la parte de git pull origin master --allow-unrelated-histories para aceptar y salir de ahi se presiona esc+chif+zz

ya estoy haciendo push actualizando la informaci贸nde mis apuntes

Si quieren hacer primero fetch y luego el merge en lugar del pull directamente:

#git fetch origin master

esto descarga los archivos a algo llamado FETCH_HEAD a como lo indica la terminal

en este punto parece que no ha pasado nada ya que los cambios se encuentran en FETCH_HEAD, y tus archivos no han cambiado. Para que tus archivos cambien debes hacer el merge

#git merge FETCH_HEAD

De momento vamos bien, todo muy bien explicado. Estoy comenzando a crear mi propio repositorio en Git en donde pueda crear una pagina web est谩tica y pueda alojar todos los comandos y lo que hace cada uno de ellos.

Para los que tienen problema al hacer el push, les comparto los pasos que realic茅:

A) RENOMBRAR MASTER -> MAIN

git branch -m master main

B) FUSIONAR LAS RAMAS

git merge --allow-unrelated-histories origin/main

C) BAJAN LOS CAMBIOS PARA EVITAR CONFLICTOS

git pull origin main

D) SUBEN LOS CAMBIOS

git push origin main

A mi as铆 me funcion贸, Saludos.

Buenas, para quienes est谩n viendo el curso en 2022, hace un tiempo que github ya no deja hacer el push con la contrase帽a del propio github, para esto tenemos que Crear un token y este token es la contrase帽a que vamos a colocar cuando les pida clave ac谩 les explico c贸mo hacerlo para que puedan continuar la clase tranquilamente

Primero: Vamos a la parte de opciones y vamos a ir a settings

Segundo: Bajaremos hasta conseguir la opci贸n que diga developer settings y hacemos click

Tercero: Nos vamos a ir a la opci贸n que dice Personal acces token

Una vez all铆 vamos a dar click en generar un nuevo token

Nos aparecer谩 esto. Ac谩 podremos generar nuestro token, en la nota, pueden colocar el nombre que le quieran poner o algo para lo que hayan creado ese token.
Tienen tambi茅n la expiraci贸n, que es cuando se va a vencer el token (una vez el token expire no lo podr谩n usar denuevo)
Y debajo tienen unas opciones que son como los permisos que le quieren dar a su token, si solamente lo usar谩n para repositorios denle a la opci贸n de 鈥渞epo鈥 y les selecciona todas las de esa ala

Luego bajan y le dan en generar token

Y por 煤ltimo, ya les crea su token, deben copiarlo en alg煤n lugar, un bloc de notas o algo, porque va a desaparecer una vez cierren esa p谩gina y no podr谩n verlo nuevamente, tal cual como les dice el mensaje

Este curso esta mas desactualizado, que aburrido, si nunca has tocado git, talvez tengas muchos problemas, sigue estos pasos para que no tengas problemas:

1.- Fuerzas mover todo el directorio local a la rama main para que no haya conflicto con:

git branch -M main

2.- Traes el repositorio remoto con :

git remote add origin URL

3.- haces un pull con :

git pull origin main --allow-unrelated-histories

4.- Si tienes alg煤n problema ac谩 de conflicto usas la siguiente configuraci贸n:

git config pull.rebase false
Para unirlos a la fuerza
git config --global init.defaultBranch main
Para usar como configuraci贸n main en lugar de master
en todos los directorios que uses git de la pc
5.- Haces tu git push como quieras

TOKEN COMO RESOLVERLO
(Vamos a nuestro perfil en GitHub)
1-Vamos arriba a la derecha hacia nuestro perfil, y elegimos la opci贸n SeSETTINGS
2-En la columna de la izquierda de la pagina elegimos la opci贸n DEVELOPER SETTINGS
3-En la columna de la izquierda elegimos la opci贸n PERSONAL ACCESS TOKENS
4-Ahora hacemos clic en el bot贸n GENERATE NEW TOKEN
5-Una vez generado nos va a decir que le pongamos una descripci贸n (en mi caso hice referencia al nombre del repositorio), luego en ++**SELECT SCOPES **++tildamos la opci贸n REPO, luego bajamos y apretamos el bot贸n GENERATE TOKEN
6-Una vez tenemos el TOKEN lo copiamos y ahora cuando nos pida que nos identifiquemos, ponemos el usuario y ++**AL MOMENTO DE LA CONTRASE脩A PEGAMOS EL TOKEN **++y problema solucionado.

Comandos a ser utilizados :
git remote add origin URL -Comando para guardar la url del repositorio de github
git remote -v -Comando para verificar que la URL se haya guardado corretamente, nos deberia traer la url donde hariamos el fecht y el push
git pull origin master --alow-unrelated-histories -Comando que trae la versi贸n del repositorio remoto y hacer merge para crear un commit con los archivos de ambas partes.
git push origin master - Comando para enviar los cambios del repositorio local de git al repositorio remoto de github.com

Para los que les aparece

fatal: couldn't find remote ref master

Al escribir el siguiente comando:

git pull origin master --allow-unrelated-histories

Ingresen al link :
https://github.com/settings/repositories
Y cambien: main
por: master
Y actualizar
馃槈 !!

Para los que les salta el 鈥渆rror鈥

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. fatal: unable to access 鈥溾︹ : The requested URL returned error: 403

ac谩 esta la solucion

https://stackoverflow.com/questions/68775869/support-for-password-authentication-was-removed-please-use-a-personal-access-to

Me siento m谩s seguro en gitbash, me asuste en github, suponiendo que es m谩s sencillo.
Me da miedo todo esto, no se si es por lo que tengo tanto sue帽o鈥

Si les aparece este error:

es porque github ya no permite poner tu propia contrase帽a en la consola. En lugar de hacer eso, lo que procede es poner un personal access token (PAT), que se genera desde la p谩gina de Github y es un c贸digo que, al menos para este caso, reemplaza a la contrase帽a de la cuenta de Github. Para generar uno solo se deben seguir los pasos que salen en este link:

https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token

Y al final, cuando el sitio te d茅 el token, ponerlo en el lugar en que te piden tu contrase帽a.

OJO: esto me pas贸 en la consola de WSL. No s茅 si en el Git BASH de Windows sea igual.

Chicos alguinos vamos a tener el mismo problema que me a pasado el cual no sale la forma de logarnos en Gut bash

lo cual la 煤nica soluci贸n que logre encontrar es desde la terminal Visual studios code realizar los mismos pasos que nos indica Freddy en este video foto del ejemplo

espero que sea de ayuda ya que no logre encontrar otra soluci贸n

Saludos mis panas. Desde agosto GitHub decidi贸 eliminar el uso de contrase帽as para vincular Git con GitHub (tu repositorio local con el remoto). Esto lo hizo con motivos de seguridad.
.
As铆 que en vez de emplear tu contrase帽a personal de GitHub para acceder y manipular opciones remotas, tendr谩s que usar un Personal Access Token (PAT). El mismo es como una contrase帽a super larga que puedes generar en tu perfil (te muestro m谩s adelante) y que tiene fecha de expiraci贸n.
.
Adicionalmente puedes meterla en un gestor de credenciales de GitHub que se llama GitHub CLI, simplemente para que no tengas que buscar ese token a cada rato cuando tengas que hacer operaciones remotas.
.
Generar un PAT:
.
Aqu铆 esta el link de documentaci贸n oficial si quieres ver la fuente original: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
.

  1. Verifica tu direcci贸n de email de GitHub si todav铆a no lo has hecho.
    .
  2. En la esquina superior derecha de GitHub dale click a tu icono de perfil y baja hasta settings. Clickea ah铆.

    .
  3. En la barra izquierda, baja y clickea la parte que dice 鈥淒eveloper settings鈥

    .
  4. En la parte derecha clickea Personal Access Tokens

    .
  5. Dale a 鈥淕enerate new Token鈥

    .
  6. Dale un nombre que describa la funci贸n del token, como 鈥淩epo鈥檚 deployer鈥 por ejemplo.

    .
  7. Dale un tiempo de expiraci贸n al token con la pesta帽a desplegable

    .
  8. Selecciona los permisos o scopes que le quieras dar al token. Aqu铆 le das al que dice directamente 鈥渞epo鈥 (con mucha probabilidad es el primero) y al de 鈥渄elete_repo鈥 si quieres tambi茅n poder eliminar desde ah铆.

    .
  9. Click a generar token

    .

    .
    驴C贸mo usarlo en la consola?
$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token

Espero te haya servido de ayuda!

SUGERENCIA DE SOLUCI脫N A POSIBLES FALLOS EN 2022

Hola,

A diciembre de 2022 surge un problema debido a lo visto en el 鈥渕odulo鈥 18, que como dice se ha cambiado de master a main.

Al crear el nuevo repositorio desde GitHub autom谩ticamente lo crea con el tag de la rama 鈥渕ain鈥, mientras que si nosotros hemos seguido a Freddy al pie de la letra, desde Git la rama principal se sigue llamando 鈥渕aster鈥, si no sabemos el nombre de nuestras ramas ponemos el comando 鈥済it branch鈥 y deber铆amos ver 鈥渃abecera y master鈥.

Con el comando 鈥済it checkout master鈥 nos posicionamos en master y ahora vamos a renombrarla a 鈥渕ain鈥:
Situados en master ejecutamos el comando: 鈥済it branch -m nombre-antiguo nombre-nuevo鈥.

De esta manera ya hemos cambiado el nombre de master a main. Ahora tenemos que borrar el repositorio creado en GitHub, desde nuestro repositorio (en la web), le damos a settings y abajo del todo le damos a 鈥渄elete repository鈥.
(ESTO ES EN CASO DE YA HABER AVANZADO CON LA CLASE 19)

Una vez hechos estos pasos tendremos que crear el nuevo repositorio remoto que en la clase se llama 鈥渙rigin鈥. Con el comando 鈥済it remote -v鈥 veremos que repositorios remotos tenemos creados y sus nombres (en el directorio/repositorio que estamos situados). Una vez vistos lo que debemos hacer es ejecutar el comando 鈥済it remote rm origin鈥 y as铆 eliminamos ese repositorio remoto llamado origin.

Y con esto ejecutamos git branch para ver que las ramas que tenemos son cabecera y main y ya podremos repetir la clase de hoy para que funcione perfectamente.

Espero que os sirva. 馃槂

Para los que vemos esta clase en el 2022, debemos cambiar el nombre de la rama principal en git por main, asi:

git branch -m main

Verficamos que quedo bien con:

git branch

Y ya despues si podemos seguir los pasos que Freddy hace, debemos tener en cuenta que debemos cambiar la palabra master por main y listo.

Yo no lo hice al principio y tuve que borrar en el Github una rama que me habia creado llamada master, pero despues de borrarla y cambiarle el nombre en el **Git **todo fue igual a la clase 馃槂 Espero les sea de ayuda.

Para quienes hacen el curso en el 2022, aqu铆 dejo los pasos que segu铆 para enviar los archivos al repositorio remoto despu茅s de varios fracasos. Tuve problemas por e帽 cambio de master a main.
__
__

  1. Agregar la direcci贸n del repositorio
git remote add origin "url_de_repositorio"

En alg煤n momento necesit茅 cambiar la url, y para ello utilic茅:

git remote set-url origin <nueva_url_repositorio>
  1. Cambie el nombre de 鈥master鈥 a 鈥main鈥.
git branch -M main
  1. Hice el push de acuerdo con la pr谩ctica de Fredy, pero en lugar de master utilice 鈥渕ain鈥. Lo dem谩s qued贸 igual.
git push origin main
  1. Hice el pull, igual sustitu铆 master por 鈥渕ain鈥.
git pull origin main --allow-unrelated-histories

Despues de este paso, me apareci贸 el editor de texto VIM, me ped铆a que colocara un mensaje para el commit. Lo que hice fue eliminar el texto de color amarillo que aparece en las primeras lineas y coloqu茅 el texto de mi mensaje.
Recuerda para editar en VIM, presiona ESC y despues la tecla " i ". Para salir, presiona ESC y despu茅s Shift + Z Z.

  1. Finalmente volv铆 a lanzar el push hacia el servidor remoto:
git push origin main
  1. Fui a la pesta帽a del navegador donde tenia abierto mi repositorio y le di actualizar. Me emocion茅 cuando vi mis archivos ah铆, m谩s porque al principio tuve problemas por lo del master y main.

Gente, yo tambien me volvi LOCO con el problema que nos pas贸 a la mayoria en el minuto 5 del video.

Nosotros trabajamos con la rama master como nos indica Freddy, si, pero desde hace un tiempo GitHub cambio por defecto su rama a 鈥渕ain鈥

Simplemente, desde Git, debemos cambiar el nombre de nuestra rama 鈥渕aster鈥 a 鈥渕ain鈥

Como lo hacemos? con git branch -m main

Saludos, ya puedo proseguir con el curso (?

Para solucionar los problemas de la clase:

Inicialmente ya no se utiliza contrase帽a para iniciar sesi贸n si no un token. Ac谩 explican como generarlo. 馃憞
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token

Tambi茅n tener en cuenta que ahora se utiliza main en ves de master, para modificarlo se debe hacer un:
git branch -m main

y por ultimo el push:
git push origin main

Debido a que en GitHub el HEAD principal se llama Main y en el GitBash se llama Master esto me trajo algunos problemas de compatibilidad siguiendo este Curso.
Por ejemplo, me creo una rama nueva en GitHub llamada Master aparte de la Main. Entonces teniendo en cuanta los cambios que vienen ahora en Octubre busqu茅 como cambiar en el GitBash el Master por Main y ah铆 se me soluciono todo. Comparto el enlace por si a le sirve a otros estudiantes.
https://help.dreamhost.com/hc/es/articles/4466702078740-Configurar-git-para-usar-main-como-rama-principal

Inicio en GitHub y la fusi贸n con Git
En GitHub seleccionamos New Repository, agregamos un README m谩s una descripci贸n y asignamos un nombre y copiamos la ruta de nuestro repositorio.
En la consola de nuestro proyecto en la rama master primero debemos cambiar el nombre de master a main con el comando
$ git branch -M main
Luego ejecutamos
$ git remote add origin url_repositorio
Con esto le decimos a git que cree un origen remoto de nuestros archivos.
$ git remote -v
El comando anterior lista los objetos remotos con sus respectivas URLs, una para bajar o traer archivos (fetch) y otra para subir o enviar archivos (push).
Antes que todo es necesario realizar un pull al repositorio remoto para enviar todo al repositorio local
$ git pull origin main
Hay archivos que tienen commit en GitHub pero no tienen historia en Git, estos archivos no bajan es necesario utilizar el siguiente comando, esto ocurre para el caso del README
$ git pull origin main --allow-unrelated-histories
Ahora que todo lo del remoto esta en el repositorio local se puede realizar el proceso de pasar nuestra rama master ya denominada main a nuestro repositorio remoto con el comando
$ git push origin main

saludo 馃槂

Si les aparece el siguiente error: fatal: Need to specify how to reconcile divergent branches.

Usen el siguiente comando: git config pull.rebase false
luego: git pull origin main
y finalmente el comando: git pull origin main --allow-unrelated-histories

espero les ayude porque me sal铆a el error y no pod铆a avanzar como Freddy hasta que pude solucionarlo con esos comandos.

Pasos para subir tu repositorio a Github (2022)

  1. Crea el repositorio manualmente en Github. No olvides incluir el READMEmd como buena pr谩ctica
  2. Copia la URL
  3. Abre la consola y escribe git remote add origin "link del repositorio e github"
  4. git remote -v Revisa la lista de conexiones existentes
  5. git branch -m master main Cambia el nombre de la rama master a main, debido a que ahora Github usa el nombre 鈥渕ain鈥
  6. git pull origin main Traer lo que se encuentra en el servidor remoto
  7. git pull origin main --allow-unrelated-histories en caso de que el paso anterior de haya dado error
  8. git push origin main Sube el repositorio local a Github

COMPARTO EL SIGUIENTE RESUMEN DE LA 脷LTIMA PARTE DE ESTA CLASE:
[git remote add origin <url copied from github>] Subir un proyecto a GitHub
[git remote] vemos (en consola) que hay algo que se llama 鈥渙rigin鈥
[git remote -v] sea verbal (expl铆cito): indica una direcci贸n url para hacer un 鈥fetch鈥 y otra para hacer un 鈥push鈥.
[git push origin master] estamos diciendo: 鈥git鈥, env铆ele al 鈥origen鈥 la rama 鈥master鈥. Da el siguiente error:

Esto ocurre porque tenemos que integrar los cambios remotos localmente antes de volver a hacer un push. Para ello podr铆amos hacer git fetch > git merge o, mejor a煤n, ejecutamos el comando [git pull origin master]. Di贸 un mensaje de error diciendo que las dos historias (remota y local) no se encuentran relacionadas. Para solucionarlo ejecutamos el comando [git pull origin master --allow-unrelated-histories]. De esta manera fusionamos lo que tengo en el repositorio remoto con el local. Ahora si me permite hacer el merge con la rama master de mi proyecto (en este caso 鈥淗yperblog鈥). Hacemos nuevamente [git pull origin master] y todo bien.
Luego voy a GitHub y veo mi proyecto all铆. Para comprobar c贸mo funciona hacer cambios desde GitHub cambio el t铆tulo en mi archivo 鈥渂logpost2.html鈥, luego hago commit desde la interfaz gr谩fica de GitHub. Luego regreso a mi consola y ejecuto [git pull origin master] y 隆listo! Me hizo los cambios en mi m谩quina local.

Traer y subir reporsitorio a GitHub:

  1. Comando para Guardar la URL del Repositorio
    git remote add origin ligagithub.

  2. Comando para verificar que la URL este guardada correctamente:
    git remote -v (Fecth = traer cosas)(Push = Enviar Cosas)

  3. Comando para traer la version del repositorio remoto:
    git fecht
    git merge
    git pull origin master
    git pull origin master --allow-unrelated-histories (Este ultimo es para por si se presentan conflictos)

  4. Guardar cambios del repositorio local a GitHub:
    git push origin master

para evitar dolores de cabesa les comparto este comando para que puedan cambiar la rama 鈥渕aster鈥 a 鈥渕ain鈥 permanente mente y no tenga que sufrir y cambiar a cada rato la rama 鈥渕aster鈥 a cada rato

git config --global init.defaultBranch main

denle corazon jajajjaj

Me ha parecido muy aburrida esta clase porque a 2023 el curso est谩 bastante desactualizado, lo cual no he podido seguir esta clase para nada, porque nada de lo que el dice me aplica. por favor actualicen el curso y as铆 no perdemos tanto tiempo

GitHub es el cliente de git m谩s popular, tanto que, se podr铆a decir que es la red social del c贸digo, 茅sto porque te permite tener tus repositorios en la nube, tener un perfil profesional (con los aportes, tus repositorios y dem谩s informaci贸n de tu vidad de programador) y todo con un n煤cleo de git por dentro.

.

Como git es un VMS distribu铆do, entonces el c贸digo funciona en diferentes servidores (m谩quinas), pero para que vinculemos un servidor remoto tenemos que configurar un origen que indique con qu茅 repositorio remoto estaremos trabajando, b谩sicamente es una sintaxis que nos indica que le vamos a poner un pseud贸nimo a la url de d贸nde vamos a trabajar.

.

El comando para agregar un or铆gen remoto es:

git remote add origin <url_repositorio>

Donde:

  • git remote = El comando que indica que vamos a trabajar con un servidor remoto
  • add = Agrega un alias para el servidor remoto
  • origin = Es el alias del servidor remoto (茅sto para no tener que poner la url completa cada que quieres hacer un cambio)
  • <url_repositorio> = Es la url d贸nde est谩 el repositorio en la nube, en este caso de github (https://github.com/<tu_usuario_de_github>/<nombre_de_tu_repositorio>)

Ya que agregaste tu servidor remoto origin puedes jalaro o empujar los cambios, osea sincronizar tu servidor remoto con el local, para eso tenemos 2 comandos

  • git pull: Jala los cambios del servidor, pero c贸mo podemos tener configurados diferentes repositorios remotos, tenemos que definir de d贸nde lo vamos a bajar y qu茅 rama vamos a bajar, para eso podemos utilizar el siguiente comando:

    git pull <remoto> <rama>
    

    En el caso de la rama master y el remoto origin:

    git pull origin master
    

    脡sto bajar谩 todos los cambios a tu local, pero si de pura casualidad la historia es diferente (el repositorio remoto tiene commits diferentes, puede ser un Readme nuevo) tienes que forzar bajar los cambios con el flag --allow-unrelated-histories.

    git pull origin master --allow-unrelated-histories
    
  • git push: Empuja los cambios desde el local al remoto.

    git push <remote> <rama>
    

    La sintaxis es la misma que para el pull:

    git push origin master
    

Para aquellos que como yo, est谩n haciendo el curso en abril de 2022 y no encuentran la opci贸n de 鈥淐lone or download鈥 para copiar la URL, simplemente hagan clic en la opci贸n 鈥淐ode鈥 y les aparecer谩 la URL.

Este curso es tan pr谩ctico que de inmediato ya se pueden aplicar los conceptos al d铆a a d铆a

Hola 驴C贸mo est谩n?
Les dejo la soluci贸n a otro problema que tuve.


Error al mandar el repositorio desde la l铆nea de comandos
En caso de que tengas el F2A activado en tu GitHub de seguro vas a tener el siguiente error al querer hacer un push.

鉃  proyecto1 git:(master) git push origin master
Username for 'https://github.com': Mi-usuario
Password for 'https://[email protected]': mi-contrase帽a
remote: Invalid username or password.
fatal: Autenticaci贸n fall贸 para 'https://github.com/repositorio/'

Al momento de poner tu contrase帽a no te la acepta y no puedes realizar tu push.
Para solucionarlo realizamos lo siguiente:

  1. Desde tu cuenta de GitHub nos dirigimos a las configuraciones la cuenta.
  2. Luego nos vamos a 鈥淒eveloper Settings鈥.
  3. Damos click en 鈥淧ersonal access tokens鈥.
  4. Nos vamos a 鈥淕enerate new token鈥.
  5. En 鈥淣ote鈥 colocamos un comentario sobre el token que vamos a crear, en donde lo vamos a usar o que lo ustedes quieran. Marcamos todas las opciones y le damos en 鈥淕enerate token鈥.
  6. Nos saldr谩 el token que debemos copiar en un lugar seguro. Una cosa a aclarar es que solo van a poder una 煤nica vez el token, una vez salgan de la pesta帽a o la actualicen desaparecer谩 el c贸digo.
  7. Una vez copiado el token, hay que volver a hacer el push y colocar el token en el password.
鉃  proyecto1 git:(master) git push origin master
Username for 'https://github.com': Mi-usuario
Password for 'https://[email protected]': mi-token

Espero les sirva. 馃槃

Hola Comunidad, estuve subiendo mi repositorio a GitHub y todo bien hasta que me apareci贸 un problema de autentificaci贸n con Token, creo q hace parte de las ultimas actualizaciones de Git, me parecen muy rigurosas pero esta bien.

Entonces si llegan a tener es inconveniente es f谩cil, generan el token (aqu铆 les explica como) si est谩n en Windows editan las credenciales copiando el token en el password luego despu茅s del 鈥済it push鈥 digitan su usario y en el password vuelven a pegar el token

En el grupo 5 de Telegram Road to code junto con @andresbonett, me ayudo a resolver un problema que se presenta ahora con la nueva configuraci贸n de GitHub.
鈥淎 partir del uno de octubre, los usuarios de GitHub dejar谩n de ver 鈥渕aster鈥 y en su lugar aparecer谩 el t茅rmino 鈥渕ain鈥 (principal / por defecto). De todos modos, este cambio tendr谩 lugar en los nuevos repositorios.鈥

Para solucionar gran parte de los problemas se debe generar elmpush de la siguiente manera

PUSH

<git push origin master:main>

PULL

<git pull origin main>

Dejo enlace de la informaci贸n
Link

Github ha facilitado las cosas con respecto al cambio de master a main, les recomiendo que al iniciar su repositorio local , una vez se les muestre master escribir:

   git branch  -M main

Cambia el nombre de la rama de master a main. Para hacer pull

  git pull origin main

De igual forma, como tip cuando crean el servidor remoto, github les indica que deben hacer, con respecto de master y main

Tengan en cuenta que ahora no se usa MASTER en GIT HUB. Deber铆an usan MAIN en lugar de MASTER. Por si tienen problemas con el PULL.

$ git pull origin main
$ git pull origin main --allow-unrelated-histories

$ git push origin main
Si esto da error con main:
$ git checkout -b main
Y luego de nuevo:
$ git push origin main

README.md es un archivo en donde puedes explicar qu茅 hace tu c贸digo o en qu茅 consiste tu proyecto. Es una buena practica debido a que cuando alguien entre a tu repo de GitHub podr谩 obtener ese tipo de detalles que le simplificar谩n muchas cosas ^^
Si deseas hacer un REAME muy entendible puedes utilizar Markdown, que es un lenguaje de marcado y es muy sencillo de aprender, ac谩 dejo el link de su sintaxis: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
Espero que les sirva :3

PASOS PARA USAR GIT
//las barras hacen referencia a los comentarios|
//el archivos ejemplo.txt es un ejemplo de archivo|
//esta barra | sirve para indicar el final de un paso

  1. apt-get install git|
    2)git init //en la carpeta que se desee intalar git|
    3)git add ejemplo.txt //para a帽adir el archivo al staging|
    4)git commit ejemplo.txt // o si se quiere toda la carpeta 鈥.鈥潀 -m 鈥渁ca va el mensaje que se adjunta al archivo鈥 //para subir el archivo o sus cambios|

OTROS COMANDOS IMPORTANTES

#git status //para ver el estado de los archivos |
#git show //para ver los archivos|
#git diff // para comparar versiones de dos archivos|
#rm --cached ejemplo.txt //para remover el archivo de git|
#rm --force ejemplo.txt //para remover el archivo del git y del disco duro|
#git log ejemplo.txt //para ver las diferentes actualizaciones de un archivo|
#git checkout |numero de version| ejemplo.txt //para ver la version vieja de un archivo|
#git checkout master ejemplo.txt //para volver a la version mas reciente|
#git reset --hard //para volver en el tiempo pero borrando todo incluso en staging|
#git reset --soft // para volver en el tiempo sin perder el staging|
#git reset HEAD ejemplo.txt //nos permite sacar un archivo del staging para no enviarlo al git|
#git checkout cabecera //para cambiarse de la rama master a la cabecera|
USAR GITHUB

#git clone url //para traer el repositorio desde el servidor remoto|
#git fetch //para traer los archivos del servidor al repositorio local |
#git merge //para actualizar y fucionar el directorio de trabajo|
#git pull //union de fetch y merge|
#git push //sirve para subir todos los archivos a tu repositorio remoto|
#git remote add origin url //esto sirve para agregar algo a github|
#git pull origin master //para bajar los archivos a tu pc|
#git push origin master //para subir las cosas a github|
#git pull origin master --allow-unrelated-histories //para hacer el merge fusionado lo de tu pc con lo de github|

Estimados,
Para todos los que han tenido el problema que al ejecutar el comando:

$ git push origin main

y no ha pasado nada, independiente de la cantidad de tiempo de espera, les comento que Github ha cambiado sus 鈥渕edidas de seguridad鈥 por lo que pide pasos extras, les recomiendo realizar lo siguiente:

  • Ejecutar el diagn贸stico de d贸nde est谩 el problema con el comando:
git_trace=1 git push -v origin main
  • Si la 煤ltima l铆nea hace referencia a 鈥済it-credential-manager-core get鈥 entonces les sucedi贸 lo mismo que a mi.
  • Deben ingresar a Descargar manager-core, seg煤n su versi贸n de sistema operativo e instalar.
  • Al ejecutar nuevamente el push, les abrir谩 la ventana para solicitar la cuenta de GitHub como en la imagen.
  • Luego les pedir谩 autorizar desde el navegador si elegieron la opci贸n de browser.
  • Finalmente el push se realiza de forma correcta, si se validaron las credenciales.

Espero que les sirva si es que se encuentran en la misma situaci贸n.
Dejo la documentaci贸n de Credential-Manager Core

Hay un cambio muy importante que tengan presente me paso al intentar hacer el git pull, en el momento que instentava loguearme desde la consola me saltaba este error

Username for 'https://github.com': Password for 'https://braylin16@github.com': remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information. fatal: Authentication failed for 'https://github.com/Braylin16/thecanario.git/'

y es porque github hizo unos cambios y la contrase帽a con la que te logueas en la p谩gina no es la misma con la que te conectas al repositorio, aqui encontre como solucionarlo. La otra alternativa es que vayas directo al video de como conectarse por ssh.

Porfa dame 鈥淢e gusta鈥 a este aporte para que lo posicionen mas arriba y sea de ayuda para los que tienen este problema

antes de hacer: git push origin master, tener en cuenta que ahora en adelante master ser谩 main por los cambios en Github, por lo que debemos realizar primero:
git branch -M main, para que la info de master se pase a la nueva rama main, luego si:
git push origin main y seguir con el proceso鈥

Creo que ya es necesario una actualizaci贸n del curso jejeje muchos quedaron perdidos con el tema de master - main, sin contar cuando GitHub te pide contrase帽a en la terminal pero que en realidad no tienes q poner tu contrase帽a sino un personal access token jajaja y ahi ya son mucho mas pasos!!

Debido al cambio de master a main en Github, realic茅 los siguientes para subir mi repositorio local a Github:

# Primero: Guard茅 la URL del repositorio de GitHub
# con el nombre de origin
git remote add origin URL

# Segundo: Estando en la rama master cre茅 una nueva rama llamada main usando -M para copiar toda la historia de master
git branch -M main

# Tercero: Pas茅 a la rama main
git checkout main

# Cuarto: Elimin茅 la rama master
git branch -d master

# Quinto: Traje la versi贸n del repositorio remoto e
# hice el merge para crear un commit con los archivos
# de ambas partes.
git pull origin main --allow-unrelated-histories

# Sexto: hice el git push para guardar
# los cambios de mi repositorio local en GitHub:
git push origin main

Bueno, tuve 2 errores para iniciar, logr茅 solucionarlos al final, probablemente alguien tenga al menos 1 de estos errores que me top茅, por lo que explicar茅 como solucionarlo, van un poco de la mano.
Error 1: Si eres usuario de GNU/linux (en mi caso trabajo con el sistema operativo ubuntu) te puedes topar con un problema de autenticaci贸n. Con git bach creo que no se tiene este problema, pero por s铆 lo llegan a tener los usuarios de windows, as铆 lo solucion茅:
1.1: En git nuestro HEAD recibe el nombre de master, por lo que al subir el repositorio local a github habr谩 un error por el hecho de que no coincide la rama master de git con la rama main de github. Para este primer paso, cambiamos el nombre de la rama master en git:

git branch -M main

1.2: Una vez solucionado ese error (ahora estoy creyendo que tambi茅n se presenta en gitbach), viene el verdadero problema de autenticaci贸n (problema que en GNU/Linux puede suceder), para ello es mejor autenticarse por un token.
info: https://docs.github.com/es/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token.
(con solo habilitar el checkbox que dice repo es suficiente para poder subir y actualizar el repositorio)

1.3: una vez se tenga ese token, procedes a colocar el siguiente comando en terminal:

git config user.password  aqui_el_token

Con este comando pondr谩s el token como contrase帽a local en git, lo cual debe coincidir al autenticarte con el token en github.
(cada vez que el token se venza tambi茅n ser谩 necesario que lo actualices en el repositorio local)

1.4: Finalizado eso, podr谩s aplicar el siguiente comando:

git push -u origin main

Este comando pide la autenticaci贸n, en el usuario pones el que tienes en github, y en password el token que generaste, que tambi茅n pusiste en el comando del paso 1.3.

Error 2: de ah铆 salio el error 2 que puede que a todos se les presente, este puede ser el que a la mayoria se le presente.
Adjunto con copy y paste del error:
! [rejected] main -> main (non-fast-forward)
error: fall贸 el push de algunas referencias a 'direcci贸n del repositorio鈥
Este se puede solucionar con el siguiente comando:

git config pull.rebase true

rebase hace algo similar a merge, solo que si tienes m谩s ramas, no se mantiene a salvo la historia de estas, solo la de la principal. Hay m谩s comando para mantener a salvo estas ramas, por ejemplo el anterior solo que colocando false en vez de true, este realizar谩 un merge.
info: https://platzi.com/tutoriales/1557-git-github/9123-cual-es-la-diferencia-entre-git-merge-y-git-rebase-y-cuando-usar-uno-u-otro/?utm_source=google&utm_medium=cpc&utm_campaign=17739691128&utm_adgroup=&utm_content=&gclsrc=aw.ds&&gclid=CjwKCAjw3K2XBhAzEiwAmmgrAhezQOk0LvgDgBBHDVXFPsud3XW1cRtyZO710TpqTDNGfPOMPKUCjBoCNpkQAvD_BwE
Por ultimo ya se pueden aplicar los 2 comandos finales:

git pull origin main

git push origin main

De esta manera ya se podr谩 subir todo al repositorio.

Para no tener inconvenientes, ya que desde el a帽o 2020 se cambio el nombre de la rama de -master a -main, podemos realizar los siguientes comandos para modificar el nombre la rama:

De esta manera, podemos continuar con el curso, sin la necesidad de confundirnos o que llegue a suceder alg煤n error en Git.

Si les dio un error al hacer el push en el ultimo paso, recuerden que deben cambiar la rama master local por rama main de esta forma

 git branch -M main

Despues si deja hacer el push con la cuenta de gitHub.

Hola Platzeros. Ac谩 pueden poner en pr谩ctica y visualizar algunos de los comandos m谩s importantes de Git y GitHub, en tiempo real:
http://onlywei.github.io/explain-git-with-d3/#commit
Have fun!

Antes de hacer push tengan en cuenta que master fue renombrada en github como main, entonces antes de hacer push鈥

git branch -M main

Y despu茅s contin煤en con el video 馃槂

Para los que tienen problemas desde el 2021 para adelante:
Todo lo que vean con master lo cambian por main (Ya lo explic贸 en un texto anteriomente)
Si por equivocaci贸n le dieron:

git remote add origin "el_enlace"

Lo pueden solucionar utilizando:

git remote remove origin 

Para eliminar o remover el enlace con el que se encuentran y de ah铆 comienzan de nuevo 馃槂

2021-Junio-27, me enfrente al problema de que no solicitaba las credenciales y no se podia hacer push al repositorio remoto.
Esto despues de investigar y varias pruebas di con lo siguiente y espero les sirva:
Si el comando

git push original main

Simplemente se queda colgado, ejecutenlo asi:

git_trace=1 git push -v origin main

Asi podran ver en que paso se queda, a mi particularmente me paso que se quedaba al obtener las credenciales por lo que tuve que eliminar del archivo config toda la seccion de "Credentials"
Una vez hecho esto, me empezo a aparecer la pantalla solicitando usuario y password para GitHub lo cual me alegro para poder seguir con la practica, pero poserior me llego un correo de parte de GitHub indicando que estaba usando una opcion 鈥淒eprecated鈥, asi que hay que usar su nuevo credential-manager-core.

Si est谩n con Windows y Gitbash, y cuando ejecutan el comando git push origin master, se les queda colgada la instrucci贸n, es debido a que est谩 solicitando el ingreso de la autenticaci贸n pero no lo muestra, a mi me funcion贸 ejecutar el comando desde una terminal diferente a Gitbash en este caso us茅 Cmder y ah铆 ya pude continuar con la pr谩ctica. Espero sea de ayuda.

Hay algunos cambios en git, creo que el curso merece una actualizacion.

Por ejemplo al traer querer vincular el repositorio local con el remoto me pide darle un nombre, por defecto antes era origin.

Un consejo para evitarnos el problema que tuvo Freddy al vincular el repositorio deGitHub con el local, es que al momento de crear el repo en GitHub lo inicialicemos SIN EL README.md y nos hagamos el h谩bito de crearlo manualmente en cada uno de nuestros proyectos, as铆 al momento de ejecutar $ git remote y hacer un $ git push no nos diga que la historia del remoto es diferente a la del local.

si tuviste conflictos por que en tu proyecto local la rama se llama master y en github se llama main y para evitarse crear de nuevo un repositorio basta con renombrar la rama master a main, esto usando:
git branch -m master main
Luego si se puede hacer:
git push origin main
y listo! 馃馃徑

Resumen de la clase

![](

Si a ustedes no les sale el mensaje de que se tiene que traer los cambios y al intentar hacer el pull les dice que todo est谩 actualizado es porque GitHub cambi贸 su rama por defecto a 鈥渕ain鈥 y nosotros estamos trabajando con la rama master, por tanto GitHub lo est谩 tomando como un pull request (Porque sond iferentes ramas)

Para seguir esta clase deben borrar el repositorio en GitHub (Si ya lo ten铆an creado) y configurar su rama por defecto como master en:

https://github.com/settings/repositories

En el apartado 鈥淩epository default branch鈥 borran main y escriben 鈥渕aster鈥 y le dan al bot贸n de actualizar, despu茅s vuelven a crear su repositorio 鈥渉yperblog鈥 en GitHub y continuan la clase normal

Para subir nuestro repositorio local al servidor de GitHub primero creamos uno en este. Hay que especificar t铆tulo, descripci贸n y README (opcional, pero es buena pr谩ctica hacerlo).
El README es un archivo que se va a visualizar en el momento que alguien entre a nuestro repositorio de GitHub. En este archivo escribiremos de que trata nuestro repositorio.
El repositorio puede ser p煤blico o privado.
Para traer el repositorio local al repositorio remoto vamos a la opcion de 鈥淐lone or download鈥 en la p谩gina reci茅n creada y elegimos la opci贸n de HTTPS.
Ahora hace falta especificar el origen remoto de nuestros archivos con "git remote add origin master"
Antes de enviarlo primero tenemos que traernos los archivos del repositorio remoto con 鈥済it pull origin master鈥 (con el par谩metro --allow-unrelated-histories podemos fusionar las historias de los commit de ambas ramas)
Y ahora si, con 鈥済it push origin master鈥 podremos finalmente enviar nuestros archivos y cambios al repositorio remoto.

este punto me llamo mucho la atenci贸n:
git pull origin [master] --allow-unrelated-histories

Comando que se usa para obligar a GIT a fusionar la historia de un repositorio local con un repositorio remoto. Este comando se ejecuta cuando se requiere conectar por primera vez ambos repos, debido a que al hacer 鈥榞it pull origin master鈥 aparece el error: 鈥渇atal: refusing to merge unrelated histories鈥.

Compa帽eros, comparto lo que hice para que funcione todo bajo la rama main. 脷nicamente hay que cambiar de nombre a nuestro repositorio git de master a main con lo siguiente:

git branch -m master main

Solo basta con ejecutar esto antes de empezar a ver la clase.

Aprovechando todo lo aprendido para hacer un gits en mi cuenta de Github: https://github.com/ldmaroto/git-blog y https://github.com/ldmaroto/ssh-blog

Siempre tenia ese problema con los repositorios cuando les creadaba el readme.

Ahora ya sabre que hacer.

<git pull origin master --allow-unrelated-histories>

Aqu铆 les va mi repo, con las notas. De paso aprend铆 un poco de MarkDown 馃槑

Tomar en cuenta que desde octubre del 2020 gitHub llama main al branch por defecto en lugar de master https://github.com/github/renaming

Otro tip importante a tener en cuenta es que si he subido un commit, y lo de modificado en local, puedo forzar a escribir el commit servidor usando

  • git push --force origin master

Crear un nuevo repositorio en GitHub


  1. En la esquina superior derecha, usa el men煤 desplegable (+) y selecciona Nuevo Repositorio.

    .
  2. Utiliza el men煤 desplegable Propietario para seleccionar la cuenta que ser谩 propietaria del repositorio.

    .
  3. Escribe un nombre para el repositorio, y una descripci贸n opcional.
    .
  4. Elige la visibilidad del proyecto.

    .
  5. Si no est谩s utilizando una plantilla, hay una serie de elementos opcionales con los que puedes rellenar previamente tu repositorio. Si est谩s importando un repositorio existente a GitHub, no elijas ninguna de estas opciones, ya que podr铆as introducir un conflicto de fusi贸n. Puedes a帽adir o crear nuevos archivos utilizando la interfaz de usuario, o elegir a帽adir nuevos archivos utilizando la l铆nea de comandos m谩s tarde.
    鈥 Puedes crear un README, que es un documento que describe su proyecto.
    鈥 Puedes crear un archivo .gitignore, que es un conjunto de reglas de ignorar.
    鈥 Puedes elegir a帽adir una licencia de software para su proyecto.

    .
  6. Por 煤ltimo, haz clic en Crear repositorio.
    .

Agregar una nueva llave SSH a nuestra cuenta de GitHub


  1. Copia el contenido de tu llave publica SSH al portapapeles. Para eso, debes ir a la ubicaci贸n de tus llaves 鈥渵/.ssh/id_ed25519.pub鈥 y abrir el archivo .pub con el bloc de notas.
    .
  2. En GitHub, ve a la esquina superior derecha, da clic en tu imagen de perfil y luego haz clic en Configuraciones.

    .
  3. En la secci贸n 鈥淎cceso鈥 de la barra lateral, haz clic en llaves SSH y GPG.

    .
  4. Haz clic en Nueva clave SSH o en A帽adir clave SSH.
    .
  5. En el campo 鈥淭铆tulo鈥, a帽ade una etiqueta descriptiva para la nueva clave. Por ejemplo, si utilizas un port谩til personal, puedes llamar a esta clave 鈥淧ort谩til personal鈥. Selecciona el tipo de clave, ya sea de autenticaci贸n o de firma. En el campo 鈥淐lave鈥, pega tu clave p煤blica. Haz clic en A帽adir clave SSH.

    .
  6. Si se te solicita, confirma el acceso a tu cuenta en GitHub.

leomarys casi me mata del susto jajajaj

Me saco un sustote el 鈥淔reddy Freddy espera鈥, quiza Freddy si lo esperaba pero yo no JAJAJ

Asi logre solucionar todos los errores que no aparecieron en la clase, espero les ayude.

  • Error por nombre de la rama master
  • Error para hacer fetch (pull)
  • Error en git push (falta de token de acceso personal)

Verificamos que aparece origin para hacer fetch y push

git remote -v

Cambiamos el nombre de nuestra rama master a main

git branch -m master main

Hacemos merge

git config pull.rebase false

Traemos los cambios remotos a local

git pull --allow-unrelated-histories origin main

Creamos un token de acceso personal en Git-Hub.

Click perfil -> Settings -> Developer settings -> Personal access tokens -> Generate new token
Git Hub - creating a personal access token

Subir el repositorio local a Git Hub

git push origin main

Quiero comentar algo, que puede ser muy l贸gico, pero la verdad me saco canas, dure un d铆a y medio haciendo el proceso de Fredy varias veces e investigue por otras fuentes ya que no me dejaba editar el c贸digo en el repositorio, no entend铆a que era, y resulta que Google traduce la p谩gina a espa帽ol autom谩ticamente, en ultima instancia, suponiendo que no tenia nada que ver, se me dio por desautorizar la traducci贸n y 鈥渙 sorpresa鈥 pude editar el c贸digo con normalidad y crear los comit en el repositorio. Siento que debo compartir esto, ya que esto nos ayuda a entender de la importancia de dominar el ingles y trabajar con nuestros dispositivos en este tipo de idioma鈥

Amigos, les dejo una manera para poder observar todo el historial de commits desde github:

Usando el sitio web de github:

Haga clic en su proyecto
Haga clic en la pesta帽a 'Insights鈥
Haga clic en 鈥楻ed鈥 o 'Network鈥
Haga clic en el 鈥榥odo / c铆rculo鈥 de cada commit para acceder a su informaci贸n.

Adem谩s, puedes arrastrar la l铆nea de commits para visualizarla entera, en caso que hayan muchos y sobrepase el espacio disponible en pantalla.

Por si alguien tiene error con el user and password al realizar <push>.
Genere un token y solucione el problema. Abajo el procedimeinto.

en tu Git hub sigue esta ruta Settings => Developer Settings => Personal Access Token => Generate New Token =>COPIAR el Token generado. (este sera el 鈥減assword鈥 para subir los cambios desde la terminal)