Utilizando comandos
Una vez instalado Git, creada la cuenta en GitHub y creado nuestro primer repositorio Java, podremos subir nuestro código al repositorio de muchas formas. Los entornos de programación suelen tener integrado Git (por ejemplo Eclipse) para utilizarlo mediante interface gráfica, pero realizar este trabajo mediante comandos también tiene ventajas. Es útil ya que estos comandos son comunes a todas las plataformas y permiten crear scripts para diferentes acciones, como por ejemplo actualizar muchos repositorios a la vez o comprobar cambios remotos periódicamente.
Primer ejemplo
Entramos en la página de nuestro repositorio:
El botón verde de la derecha nos permite descargar el proyecto como un fichero comprimido o clonar el proyecto. Clonar el proyecto significa que se va a descargar mediante un comando y nos permitirá realizar cualquier acción, tal como push, pull, etc. Vamos a clonarlo. Primero copia el enlace del proyecto al portapapeles:
Después, en la carpeta que quieras clonar el proyecto, botón derecho y Git Bash Here. Esto abrirá una terminal Git Bash en la ruta actual y nos permitirá lanzar cualquier comando de git.
Introduce el siguiente comando:
git clone URL
Donde URL es el enlace copiado. Para pegar, botón derecho en la consola y pegar. Si es la primera vez que lo hacemos es posible que nos pida un usuario y contraseña ya que el repositorio debería de estar configurado como privado. Automáticamente se descargará el repositorio con su contenido, en este caso el fichero .gitignore correspondiente a un proyecto java y una carpeta oculta .git donde está todo lo relativo al repositorio. La carpeta .git es donde nos indica que está el repositorio y nos da una pista donde debemos de hacer click derecho para abrir la terminal.
Será en esta carpeta donde deberemos guardar el proyecto o lo que deseemos. Para nuestro ejemplo, un proyecto eclipse cualquiera:
Veamos el ciclo de vida de Git (recuerda, repositorio local):
Nuestros ficheros se encuentran en el estado “untracked”, lo que significa que no están siendo registrado por Git. Debemos añadirlos con el comando:
$ git add .
El punto significa que añade todos los ficheros. Sería posible añadir únicamente las rutas que queramos.
A continuación, es necesario realizar un commit con el comando:
$ git commit -m "Prueba del commit"
Siendo lo que hay entre comillas la explicación de los cambios de ese commit. Es obligatorio y de suma importancia para saber que se ha cambiado.
Si es el primer commit que realizas, es posible que te diga que introduzcas unas credenciales. Como se ha visto en el post configuración del usuario y email, podremos utilizar el correo proporcionado por GitHub para que se identifique los cambios con nuestro usuario. Para ello lanza el comando:
$ git config --global user.email "emailquequeramos@email.com"
$ git config --global user.name "MiNombre"
Ya tenemos nuestro repositorio local actualizado, pero nos falta un último paso. Deseamos que este repositorio local se suba a la nube. Para ello lanzamos el comando:
$ git push
Y automáticamente todos los cambios se subirán a GitHub.
Resumen:
Y, ¿qué ocurrirá si otra persona cambia el código que hay en la nube?. El clonado es necesario únicamente la primera vez que descargamos el proyecto. Una vez lo tenemos, los cambios se descargan mediante el comando:
$ git pull
Segundo ejemplo
En vez de clonar el repositorio como en el ejemplo anterior, se puede crear un repositorio local y conectarlo con el repositorio remoto. Para ello, crea otro repositorio:
Es muy importante que para crear el repositorio de esta forma no se le añada un .gitignore o un README. En caso contrario dará error.
Una buena guía para esto es la oficial de GitHub: https://help.github.com/en/enterprise/2.17/user/github/importing-your-projects-to-github/adding-an-existing-project-to-github-using-the-command-line
Simplemente deberemos de seguir la guía que se nos muestra:
En la ruta de un nuevo proyecto sin repositorio hacemos click derecho y Git Bash Here. Lanzamos el comando:
$ git init
Observa como se ha creado la carpeta oculta .git. Ya tenemos un repositorio. Únicamente deberemos lanzar los comandos de git add . y git commit descritos anteriormente. Lo diferente viene cuando queremos subir este código a GitHub. Para ello se deberá especificar cual es el proyecto donde guardar este código:
$ git remote add origin *URL*
$ git remote -v
$ git push origin master
Donde URL es la URL del repositorio (recuerda el ejemplo anterior).