Codemaker Git y GitHub

Git y GitHub Tema 1

Qué son Git y GitHub

Cuando un proyecto crece, aparecen los problemas de siempre: «ayer funcionaba y hoy no», «¿qué he cambiado?», «tengo la versión buena en el ordenador del aula y no en el de casa»… Git y GitHub resuelven exactamente eso.

Qué esDónde está
GitUn programa de control de versiones: guarda una foto de tu proyecto cada vez que se lo pides, con quién la hizo y por qué. Puedes volver a cualquier foto anteriorEn tu ordenador. Funciona sin internet
GitHubUna web donde guardar tus proyectos de Git en la nube, para tenerlos en cualquier ordenador y compartirlosEn internet

Importante

Git y GitHub no son lo mismo. Git es la herramienta; GitHub, un sitio donde guardar lo que Git gestiona. Lo más valioso no es tener el proyecto en la nube, sino poder volver atrás.

El repositorio#

Un repositorio (o repo) es la carpeta de tu proyecto más todo su historial de versiones. Normalmente hay dos copias que se sincronizan:

CopiaDónde estáPara qué
LocalEn tu ordenadorAquí es donde trabajas
RemotaEn GitHub. Git la llama originCopia de seguridad, y para trabajar desde otro ordenador o con otras personas

Un repositorio de GitHub puede ser público (cualquiera ve el código: ideal para tu portfolio) o privado (solo lo ves tú y quien invites).

El commit#

Un commit es una de esas fotos del proyecto, con un mensaje que explica qué cambiaste. El historial de tu proyecto es la lista de todos sus commits.

El camino de un cambio#

Un cambio pasa por cuatro sitios desde que lo escribes hasta que llega a GitHub, y cada paso es un comando:

Un cambio pasa de tu carpeta a preparados con git add, al historial local con git commit y a GitHub con git push; git pull trae los cambios de GitHub

SitioQué hayCómo se llega
Tu carpetaLos archivos tal y como los estás editandoEscribiendo código
Preparados (staging)Los cambios que entrarán en el próximo commitgit add
Historial localLos commits, guardados en tu ordenadorgit commit
GitHubLa copia en la nubegit push

Los comandos, en detalle, en el tema siguiente.

Archivos especiales#

ArchivoPara qué sirve
README.mdLa presentación del proyecto: qué es y cómo se usa. GitHub lo muestra en la portada del repositorio
.gitignoreLista de archivos que Git no debe guardar. En un proyecto de Java de VS Code, al menos bin/ (los programas compilados)
.git/Una carpeta oculta donde Git guarda todo el historial. No la toques: si la borras, pierdes el historial

Un .gitignore para los proyectos de Java del curso:

bin/
*.class

Formas de usar Git#

FormaCuándo conviene
Terminal (comandos git)Para entender lo que pasa. Es lo que usan los desarrolladores y lo que explican estos apuntes
Desde VS CodePara lo de cada día, con botones (lo tienes en el tema siguiente)
Web de GitHubPara crear repositorios, ver el historial y cambios pequeños