Como subir un proyecto local a github.


Ver las imágenes de origen

GitHub es una plataforma de desarrollo colaborativo para alojar proyectos utilizando el sistema de control de versiones Git. Se utiliza principalmente para la creación de código fuente de programas de ordenador. El software que opera GitHub fue escrito en Ruby on Rails. Desde enero de 2010, GitHub opera bajo el nombre de GitHub, Inc. Anteriormente era conocida como Logical Awesome LLC. El código de los proyectos alojados en GitHub se almacena típicamente de forma pública.

El 4 de junio de 2018 Microsoft compró GitHub por la cantidad de 7500 millones de dólares,​ al inicio el cambio de propietario generó preocupaciones y la salida de algunos proyectos de este repositorio, sin embargo no fueron representativos. GitHub continúa siendo la plataforma más importante de colaboración para proyectos Open Source

Para crear un proyecto desde Github hay al menos dos formas de hacerlo

  • Desde el propio site de Gitub
  • Desde linea de comandos

Crear un proyecto desde la web de github

Creamos un nuevo repositorio en https://github.com. Le damos nombre, descripción, seleccionamos si va a ser un proyecto publico o privado si es el caso, y dejamos el check de crear README sin marcar. Le damos a crear repositorio y con esto ya tenemos el repositorio donde alojaremos nuestro proyecto.

Crear un proyecto desde la terminal del equipo donde esta el proyecto que queremos subir a github

Nos vamos a la carpeta del proyecto y ejecutamos estos comandos.

git init

git add .

git commit -m "first commit"

git remote add origin https://github.com/NOMBRE_USUARIO/NOMBRE_PROYECTO.git

git push -u origin master


Ver las imágenes de origen

Trucos

para eliminar ficheros al hacer push en vez de
git add .
usar
git add -u

para deshacer un git add .
git reset
si seguido de git commit ...
git reset HEAD~
para deshacer varios commit locales que no han sido pushedados:
git reset --hard <codigo del commit>
para obtener el codigo hacer:
git log
para salir del log pulsa q

ERRORES

Ese error que te arroja se refiere a que tu rama remota -alojada en github- posee contenido que tu rama local no contiene.

Si quieres ir un paso más allá y no deseas que se cree ese commit merge automático, existe un método parecido que te crea una estructura de ramas ligeramente diferente, lineal. (Pierdes la trazabilidad de las fusiones de ramas, así que no se recomienda en exceso cuando es trabajo colaborativo… vamos, que hay que saber utilizarlo).

git fetch
git rebase origin/master
git push

Fetch: te trae todos los cambios sin integrarlos (pull los integra, fetch sólo da constancia a tu repositorio local de que en la rama oculta origin/master existe determinado commit). Ósea, digamos que abres ese árbol pero en local, y tu rama de trabajo sigue apuntando a tu commit local y la rama origin/master a los contenidos bajados del remoto. En tu rama de trabajo local no tendrás integrados esos contenidos remotos que sí existen en la rama origin/master.
rebase origin/master : apuntas a origin como nuevo punto inicial para tu rama e integras los cambios de tu commit local. (Si existen conflictos, tendrás que resolverlos)
push : subes esa integración. No se sube tu commit local original, sino la mezcla de ambos.

Dejando una estructura similar a esta, todos al mismo nivel:

º Commit X (previo commit al error)
º Commit 1 (el que existe en remoto y no tienes en local)
º Commit 3 (el merge de commit 1 + tu commit local)

image

Con el ejemplo del gráfico, tu local es el color verde; has seguido desarrollando, mientras paralelamente en la rama azul (remoto) existen otros cambios que no posees.

Como indica el error, te sugiere que primero integres esos cambios en tu rama local, haciendo un git pull.
Si integras los cambios y si no existen conflictos a corregir, se creará automáticamente un último commit con el merge de ambas ramas. Si existen conflictos -te lo indicará- deberás resolverlos antes y luego se creará el commit de merge. Tras ello podrás hacer un git push sin problema.

Eso dejará una estructura de ramas similar a esto (imagínate el commit X abriéndose en 2 y volviéndose a cerrar al llegar al commit merge).

º Commit X (previo commit al error)
ºº Commit 1 (el que existe en remoto y no tienes en local)
ºº Commit 2 (el que existe en local y contiene commit X, pero no commit 1)
º Commit 3 (el merge de commit 1 + commit 2)

image

Una respuesta a “Como subir un proyecto local a github.

  1. doverto loperte octubre 28, 2021 / 4:49 am

    Some truly nice and useful information on this site, too I believe the layout contains great features.

    Me gusta

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.