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:
Guardar la URL del repositorio de GitHub con el nombre de origin
git remote add origin URL
Verificar que la URL se haya guardado correctamente:
git remote
git remote -v
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:
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 ‘máster’ a ‘main’, este es el nuevo estándar en GitHub, para esto:
Primero nos posicionamos en la rama a la que queremos cambiarle el nombre.
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.
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 "main" 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:
En el apartado "Repository default branch" borran main y escriben "master" y le dan al botón de actualizar, después vuelven a crear su repositorio "hyperblog" en GitHub y continuan la clase normal
Heroe sin capa ahhahahahahha
Muchas gracias por la ayuda me sirvio muchisimo, pero tengo otra duda, si al crear otro repositorio los puedo hacer tipo $ git push origin master?
Muchahos, a tener en cuenta:
GitHub en Octubre 2020 decide llamar la rama 'master' a rama 'main', 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 'master' de nuestro repositorio local. Por lo tanto, en GitHub se interpreta como adicionar una rama independiente llamada 'master' con su contenido a bordo, pero no se carga en la rama default de GitHub, debido a que su rama default ahora se llama 'main'.
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 'master' de nuestro repositorio local hasta la rama 'main' 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 'main' fusionando las historias.
De tal manera que ya podemos continuar con el contenido de Freddy sin llegar a confundirnos.
tremendo david gracias compita
gracias por tus aportes brothdel
Muchas gracias. Me gusta tu forma de resumir!
Leí que GitHub se actualizó porque cambió su rama por defecto a “main” y nosotros estamos trabajando con la rama "master", como Freddy. Por eso siempre me aparecía un error pero pude solucionarlo aplicando lo siguiente:
Gracias :)
Gracias por el dato! estaba intentando con master y me salía el error, pero tu aclaración me ayudó
_Resumen _
A seguir aprendiendo! :)
Que buenas notas :as
Que buenas notas :astonished: ¿Cómo o con que herramienta las creaste?
DOS ACTUALIZACIONES IMPORTANTES A NOV 2021 CON ESTA CLASE DE GITHUB
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.
Como espero hayan leído en la clase 18, por temas de Racismo, Github dejó de utilizar la palabra "master"(asociada al concepto de Master-Slave que se usa mucho en todos estos temas de desarollo) y paso a usar la palabra "main". 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 "master" 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 "main".
Qué puedo hacer? -> Cambia el nombre de tu branch "master" local a "main"
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 "master" para ti es "main".
Repito -> Cuando en el curso Freddy diga o escriba "master" tu lo vas a reemplazar por "main".
Espero les sirva!
Wow que tremenda ayuda gracias, justo estaba teniendo todos esos problemas mencionados 👍, y es bastante más practico cambiar el nombre de la rama local a Main que las otras soluciones que estaban dando por ahí en los comentarios 😂
Muchas Gracias por tu ayuda, fue muy útil para mi
Para los que toman este curso luego de octubre 2020 que github paso de master a main , realizar lo siguiente
primero hay que cambiar el nombre de nuestra rama principal (master -> main)
<code> git checkout master
git branch -m main
</code>
asignar que las ramas principales sean main para proyectos futuros
<code> git config --global init.defaultBranch main
</code>
Luego podremos continuar con el curso tomando en cuenta que ya no es master sino main.
gracias buen hombre
Muchas gracias !!
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
Gracias
Gracias @VHugoBarnes por esta útil aclaración.
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.
bebe ta ganaste un aplauso
Muchas gracias. No estaba pudiendo hacer el push. Me salvaste.
Esto cada vez se pone mejor
***********************IniciarGit***********************
git int
***********************IniciarGit****************************************************************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"jesuscastellanospaez@hotmail.com"*****************************************Configuración de Git*******************************************************************************************Agragar a la zona de preparación**************************************************git add Archivo.txtgit 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.txtgit checkout(rama)Archivo.txt*****************************************************************************************************Volver a una versión anterior***********************************************************************************************************************************************************************************************************VerCambio en bytes***********************************************************************************************************git log --stat(Cambio en bytes)******************************************************************************************************VerCambio 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)(SubeCambios)****************************************************************Traer un repositorio externo****************************************************************
Muy buena síntesis.
Es excelente tu aporte, gracias por ello :D
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
comento para que este mensaje aparesca en los mas votados.
me salvo de mas tiempo de busqueda en internet.
gracias samuel
Para servirles Jorge!
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
Gracias a ti, un problema menos
muchas gracias
muchas gracias por este aporte jeff esta super bro 💥🥊
De nada, para estamos como comunidad.
Espero que le sirva a otras personas también, saludos.
Por si a alguien se le olvido (como a mi :v) esc shift z z para salir de vim.
mi héroe
Los dioses del Olimpo te saludan
La red social para Nerds. Es la primera vez que siento que no desperdicio mi tiempo usando una red social.
jajaja yo tambien dpensé algo parecido
Viendo este curso en el 2022, alguien más?
Yo...
Me too
Tomé esta clase 4 veces XD hasta que me salió
Soy tu yo del futuro. Volverás, ntp jajaja
Me paso lo mismo ajajjaaj
No se cuantas cosas toque para subir mi proyecto al repo pero cambie la rama ‘master’ a ‘main’ con el comando ''git branch -m main'' y luego en https://github.com/settings/repositories cambie ‘master’ por ‘main’.
Utilice el comando ''''git pull origin main --allow-unrelated-histories'''' para traer la version del repositorio remoto. Luego use ''git 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
**Excelente, muchas gracias. De todos lo comentario es el único que em ayudó. **
La verdad me ayudaste un montón. Qué útil es esta parte de los comentarios, sin estos me hubiera tardado un bueeeeeen rato.