¿Qué es control de versiones?
El control de versiones es la gestión de los diversos cambios que se realizan sobre algún archivo, en este caso, código.
¿Qué es Git?
Git es un sistema de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente.
¿Qué es GitHub?
Es un sistema de control de versiones basado en Git, tiene una comunidad muy activa y aloja algunos proyectos muy interesantes como el Bootstrap de Twitter, el HTML5 Boilerplate, jQuery, entre muchos otros.
GitHub en Ubuntu
Debido a que no tenemos un cliente gráfico como en Windows o en Mac, deberemos proceder desde la consola.
Instalación
Lo primero que tenemos que hacer es instalar Git y XClip, para eso abrimos la consola y tecleamos:
Código :
sudo apt-get install git sudo apt-get install xclip
Ó para comprobar si lo tenemos instalado anteriormente tecleamos:
Código :
git --version
Y nos deberá salir algo como esto:
Código :
git version 1.7.9.5
Después configuraremos nuestros datos (usaré los míos):
Código :
git config --global user.name "carlos" git config --global user.email "[email protected]"
Obtención de la clave SSH
GitHub usa una clave ssh para establecer conexión entre nuestro ordenador y el servidor de Git. Podremos generar la clave .ssh con el siguiente comando:
Código :
ssh-keygen
Y la consola nos responderá con lo siguiente, donde podremos configurar el lugar donde se guardará (lo dejaré en la configuración predeterminada):
Código :
Enter file in which to save the key (/home/carlos/.ssh/id_rsa):
Le damos enter, nos pedirá una contraseña -passphrase- la contraseña es opcional, para saltarla le damos doble enter.
Código :
Enter passphrase (empty for no passphrase): Enter same passphrase again:
Para leer la clave ssh tendremos que teclear (ten en cuenta la ruta donde lo guardaste):
Código :
cat ~/.ssh/id_rsa.pub
Y la consola nos responderá algo como esto:
Código :
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMpPqnv9XBAnNAU60o+zxoXxrl79LBaqpEgUdBk9zjSslkVqWJpu3VKWU/JC3nToPP7zRv0wDWWFaWdNaeJAT9AWsExrhbLZumKQJE1IONhqO1FBvEOrhT5HLAfN7FII89OM+rAP8ojQonbZqddKZaZ5ik5U7kIz/Z4oG8bKosSw6fqtf5I0Ya7G+egAW9QxjLdFyC6Y2MyftjKZsaugnpr7EHtsM2RoGdZAmUWND3ofE/DltrNh2KF4e3OhuPQUPXtP7uKtRW1orC0QxHfd7jMPOujtE1+dT5mb3itlLD7tnddoyNgzgjN/vKyl7O4igB4hdgD/MUOYqdmjbI73iv carlos@Carlos-PC
Copiamos el contenido y lo pegaremos en SSH Keys en GitHub:
Finalmente le damos clic en Add Key, nos pedirá la contraseña de nuestra cuenta. Si todo nos salió bien GitHub nos mostrará algo como esto:
Creación de un repositorio
Para crear un repositorio deberemos dirigirnos a New Repository , completar los datos que nos pide y darle clic a Create Repository:
Subida de archivos
Para subir archivos desde nuestro ordenador primero tenemos que posicionarnos en la carpeta donde están los archivos que queremos subir, los míos están en una carpeta dentro de la carpeta personal que se llama cristalab-tuto.
Código :
cd ~/cristalab-tuto
Luego tecleamos:
Código :
git init
Nos saldrá algo así:
Código :
Initialized empty Git repository in /home/carlos/cristalab-tuto/.git/
Para añadir archivos, si queremos por ejemplo añadir todos los archivos de la carpeta, tecleamos:
Código :
git add .
Pero si queremos añadir un archivo específico:
Código :
git add nombre-del-archivo.extensión
TODOS los cambios que hagamos requieren un comentario, para ello tecleamos:
Código :
git commit -m 'esto es un comentario'
Para conectarnos al repositorio tecleamos -nótese mi nombre de usuario y el nombre del repositorio-:
Código :
git remote add origin [email protected]:niclick/intro-github-en-ubuntu.git
Si nos sale este error:
Código :
fatal: remote origin already exists
La solución es teclear, y repetir el paso anterior:
Código :
git remote rm origin
Y lo subimos:
Código :
git push -u origin master
Para el README, es necesario crear un archivo llamado README.md y subirlo de la misma manera que los demás.
Y listo a disfrutar de nuestro repositorio.
Eliminar un archivo
Para eliminar un archivo debemos teclear:
Código :
git rm nombre-del-archivo.extensión
Y para que el cambio se refleje en GitHub, deberemos hacer el mismo proceso que el de subida.
Eliminar un Repositorio
En la parte superior al lado del nombre de nuestro repositorio dice 'Admin', le damos clic y entraremos en la Administración del Repositorio, en la parte inferior dice Danger Zone™ le damos clic en 'Delete this Repository' ponemos el nombre del repositorio y lo eliminamos.
Clonar un Repositorio
Para clonar el repositorio podemos hacerlo de dos formas: la forma tradicional de descargar el .zip o la forma fancy mediante la consola.
Descargar el .ZIP
Forma Fancy
Le damos clic en Git Read-Only y copiamos el contenido:
Luego vamos a la consola y tecleamos git clone más lo que copiamos anteriormente:
Código :
git clone git://github.com/niclick/intro-github-en-ubuntu.git
Y tendremos listo nuestro repositorio clonado de forma local.
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por carlosssasd el 06 de Junio de 2012
Por uvazquez el 06 de Junio de 2012
Saludos.
Por carlosssasd el 06 de Junio de 2012
uvazquez :
Saludos.
Haré el repositorio, pero he probado varios clientes gráficos, no son muy intuitivos ni se comparan al de Windows o Mac OSX.
Por jask05 el 07 de Junio de 2012
Gracias
Por Kinduff el 07 de Junio de 2012
Por LeoSan el 07 de Junio de 2012
En el Caso de Windows como se haría estos procedimientos alguien me podría ayudar se lo agradeceréis ante mano!
Por carlosssasd el 07 de Junio de 2012
jask05 :
Gracias
XClip sirve para la lectura de las claves SSH
Por carlosssasd el 07 de Junio de 2012
Por GMejia el 15 de Agosto de 2012
Por dxvtuts el 07 de Septiembre de 2012
Por subzero1331 el 22 de Septiembre de 2012
"! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '[email protected]:AldoGustavoF/python-primeros-pasos---.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details."
tiene que ver algo el xclip?? espero me puedas ayudar soy nuevo en esto , gracias de antemano.
@AldoGustavoF
Por subzero1331 el 23 de Septiembre de 2012
http://rip747.wordpress.com/2009/04/20/git-push-rejected-non-fast-forward/
Por paco el 12 de Octubre de 2012
Por canan el 17 de Febrero de 2013
Por faustinoaq el 17 de Abril de 2013
Por fin puedo hacer algo con GitHub tenía tiempo que trataba de usarlo pero no encontraba una guía en español lo suficiente sencilla y os aquí la encontré
Por Maxvlc el 18 de Mayo de 2013
un saludo.
Por Tobal el 21 de Junio de 2013
Hay que acceder al programa desde la consola, situado en tu repositorio git.
Muchas gracias
Por Emilio el 01 de Julio de 2013
Saludos y otra vez gracias.
Por Angel el 17 de Abril de 2014
Por Juniors_bren el 06 de Enero de 2015
Por Santiago el 01 de Mayo de 2015
Por jose el 26 de Mayo de 2015
Por Kirie el 06 de Enero de 2016
Gracias.