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é es | Dónde está | |
|---|---|---|
| Git | Un 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 anterior | En tu ordenador. Funciona sin internet |
| GitHub | Una web donde guardar tus proyectos de Git en la nube, para tenerlos en cualquier ordenador y compartirlos | En 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:
| Copia | Dónde está | Para qué |
|---|---|---|
| Local | En tu ordenador | Aquí es donde trabajas |
| Remota | En GitHub. Git la llama origin | Copia 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:
| Sitio | Qué hay | Cómo se llega |
|---|---|---|
| Tu carpeta | Los archivos tal y como los estás editando | Escribiendo código |
| Preparados (staging) | Los cambios que entrarán en el próximo commit | git add |
| Historial local | Los commits, guardados en tu ordenador | git commit |
| GitHub | La copia en la nube | git push |
Los comandos, en detalle, en el tema siguiente.
Archivos especiales#
| Archivo | Para qué sirve |
|---|---|
README.md | La presentación del proyecto: qué es y cómo se usa. GitHub lo muestra en la portada del repositorio |
.gitignore | Lista 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/
*.classFormas de usar Git#
| Forma | Cuándo conviene |
|---|---|
Terminal (comandos git) | Para entender lo que pasa. Es lo que usan los desarrolladores y lo que explican estos apuntes |
| Desde VS Code | Para lo de cada día, con botones (lo tienes en el tema siguiente) |
| Web de GitHub | Para crear repositorios, ver el historial y cambios pequeños |