Hoy el sistema de control de código fuente (VCS) es esencial para el desarrollo de software y hay gran cantidad de herramientas que nos facilitan la interacción con él sin embargo en algunas ocasiones deseamos trabajar sin una interfaz para tener un mayor control.
En artículos anteriores hemos aprendido a crear y clonar nuestros repositorios de Git mediante una interfaz gráfica pero hoy lo realizaremos desde la línea de comandos.
Para iniciar debemos realizar lo siguiente:
- Tener la url de nuestro repositorio remoto ya sea en Visual Studio Team Services, Github, Bitbucket, entre otros.
- Posicionarnos en la línea de comandos en el lugar (una carpeta) que deseamos clonar el repositorio.
Si cuentan con un repositorio remoto sin código existente vamos a realizar lo siguiente, en caso contrario pasar a la sección «Clonar repositorio»
Inicializar el repositorio
git init
Agregamos la url
git remote add origin url
Ahora pueden pasar a la sección «Agregar un archivo»
Clonar repositorio
git clone url
Si la url es correcta nos debe aparecer que se va clonar en cierta carpeta además de solicitarnos la contraseña
Nota: Si ya han utilizado un repositorio de esa cuenta entonces no les solicitará el dato al no ser que hayan cambiado la clave. Si se preguntan porque no les solicita la clave es porque podemos decir que Git cuenta con dos configuraciones: Globales y locales, en caso que la local no permita acceder a un repositorio se intenta utilizar la global.
Cloning into 'nombreCarpeta'... Password for 'https://nombreusuario@sitiorepositorio':
Si se ingresa la clave correctamente inicia la tarea
remote: Counting objects: cantidad, done. remote: Compressing objects: 100% (cantidad/cantidad), done. remote: Total cantidad (delta 0), reused 0 (delta 0) Unpacking objects: 100% (cantidad/cantidad), done. Checking connectivity... done.
Agregar un archivo
Una vez que finaliza navegamos a nuestra carpeta, agregamos un archivo y lo salvamos.
Por ejemplo yo tengo este archivo
index.html
<html> <head> <title> Demo </title> </head> <body> Hola </body> </html>
Ahora vamos a digitar el siguiente comando para observar el estado de nuestro repositorio
git status
En mi caso me devuelve el siguiente resultado donde se indica que no he indicado que se debe iniciar un rastreo de mi archivo index por lo que debería hacerlo, si se preguntan por qué no se ha agregado automáticamente es porque Git por defecto no los agrega al no ser que se lo indiquemos, esto para evitar agregar archivos que no deseemos incluir en el control de código fuente
On branch master Initial commit Untracked files: (use "git add <file>..." to include in what will be committed) index.html nothing added to commit but untracked files present (use "git add" to track)
Para agregar el archivo podemos ejecutar
git add nombrearchivo.extension
Si deseamos agregar todos los archivos podemos realizarlo con
git add *.*
Ahora vamos a realizar un commit indicando que se agreguen los cambios de los archivos junto a un mensaje. Para esta opción vamos a enviar dos parámetros:
- a: Indica que se agreguen los cambios de los archivos modificados, no agrega nada de los archivos que no están en rastreo.
- m: Mensaje para el commit
git commit -am "Descripción del commit"
Y da un resultado similar al siguiente
[master (root-commit) ee27366] Descripción del commit 1 file changed, 10 insertions(+) create mode 100644 index.html
Una vez realizado el commit enviaremos nuestros cambios al repositorio remoto
Si no clonaron el repositorio digitan lo siguiente para indicarle que se envíen todos los branches que se tienen local
git push -u origin --all
La próxima vez que envíen los cambios solo deben realizarlo con
git push
Si clonaron el repositorio ejecutan el siguiente
git push
Cuando se finaliza la tarea despliega un mensaje indicando la cantidad de archivos que se agregaron
Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 276 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To https://...@bitbucket.org/.../de.git * [new branch] master -> master // el siguiente se depliega si no clonaron el repositorio</pre> Branch master set up to track remote branch master from origin.
Ahora si revisan el repositorio remoto verán los cambios.
Bueno eso ha sido una introducción a Git desde la línea de comandos, cabe mencionar que hay varias maneras de hacerlo por lo que en otros totorales pueden encontrarse alternativas, hasta la próxima 🙂