Publica tu how-to

Dinos como hacer lo que sabes hacer, mándanos un email a wdonet@gmail.com y lo publicamos (dos días máximo) o si te interesa unirte al equipo de redactores, también háznoslo saber por correo.

Como subir un proyecto con GIT a GitHub

Para subir un proyecto a gitHub no hay mas que seguir los mismos tutoriales que te proveen pero a resumidas cuentas tienes que hacer lo siguiente:

1.- Crear una cuenta en GitHub

 Tienes que ir a la liga : https://github.com/plans y darle en el botón de Create a free Account, una cuenta libre te permite tener tantos repositorios públicos y colaboradores públicos como quieras, pero ninguno privado, si quieres esto, tienes que pagar.

Este paso es muy rápido y obvio, después de ingresar tus datos recibirás un mail de confirmación y listo, regresas a la página para entrar a tu cuenta.

2.- Instalar Git en tu equipo 

En windows puedes descargar una versión de Git desde : http://code.google.com/p/msysgit/, pero para los que usamos linux Mint y similares a Ubuntu lo que tienes que hacer es:

sudo apt-get install git git-core git-gui git-doc
(lo que está en negritas es lo esencial, lo demás son agregados y puedes no indicarlos)

luego debes crear la configuración global de git para que se puede rastrear los cambios que tu haces y diferenciarlos con respecto a los demás integrantes del proyecto.

git config --global user.name "Nombres Apellidos"
git config --global user.mail "tunick@gmail.com"




Para establecer una conexión segura entre tu máquina y el servicio de gitHub debes crear una llave SSH que se almacena en la carpta .ssh de tu home.

mkdir respaldo
mv ~/.ssh/id_rsa* respaldo
ssh-keygen -t rsa -C "cuenta@gmail.com"

Después lo que nos pedirá será la ruta donde almacenar la llave que por defecto es .ssh de tu home, basta con darle Enter y luego una frase tipo password que hay que indicar dos veces

Generating public/private rsa key pair.

Enter file in which to save the key (/home/tu_directorio/.ssh/id_rsa):<presiona enter>

Enter passphrase (empty for no passphrase): <ingresa una contraseña>
Enter same passphrase again: <repite la contraseña>

El resultado sería algo como esto:

Your identification has been saved in /home/tu_directorio/.ssh/id_rsa
Your public key has been saved in /home/tu_directorio/.ssh/id_rsa.pub 
The key fingerprint is:
01:ff:f4:2a:ca:37:dd:aa:a1:bb:f0:cc:08:f0:23:dc  tunick@gmail.com
The key's randomart image is:
+--[ RSA 2048]----+
|     .+   +      |
|     o o =       |
|       = o O .   |
|       o = +     |
|     o o =       |
|      o S .      |
|      o . E      |
|     o o =       |
|                 |
|                 |
+-----------------+

Puedes ver el contenido del archivo que se acaba de generar (/home/tu_directorio/.ssh/id_rsa.pub):

ssh-rsa AAAAB3NzaC1yc2EAAAADQAERYSFVDGoORPfVQ5kX3gdW08/2Qi8za7p9W4UQH7VOVb84sWlPcIehA+9WUlah1elxT8Img4LNmloUY6rccRcoTWBaqyL8AbhNtEKD3EylNqK4uLF3Omm/QcXphjDpsb5HKl00nVAdhprvogAgCp98743ERT#$MyWRR+PnDW8KJvOKt+EJ8RD2Dhk5WEYp3GsN4MHxF/eUDOlwnJx58d7UmdyDz74rDB3v4NqQKk+KvTjPtG2yI3K4gDCLp/+XfwkjGw0+sOwnuRNlurb0joZv3h2qWJRj5RhWk1Wel+hCOGfXXc0A0TaX3Eim9L415bZg9QHQEmXK5QgvZO7H8YsdN tunick@gmail.com

Ahora vete a la configuración de la cuenta, SSH Keys y da clic en agregar una nueva llave.
https://github.com/settings/ssh

En la ventana que aparece, coloca un titulo para darle un nombre a la llave y en el contenido pega todo el texto que se encuentra dentro de /home/tu_directorio/.ssh/id_rsa.pub y luego da clic en Agregar.

Para comprobar que te puedas conectar con gitHub debes ejecutar el comando de abajo y cuando te pregunte si desas seguir conectando, respondes con "yes".  Deberás recibir una respuesta como la que sigue.

ssh -T git@github.com

Hi nick ! You've successfully authenticated, but GitHub does not provide shell access.

 3.- Crear un repositorio

Es muy sencillo, basta ir a https://github.com/new e indicar un nombre para repositorio que no haya usado nadie más, agregar una descripción del proyecto, indicar que será público y luego dar clic en "Crear repositorio".

Como resultado tendrás una página donde te muestra una liga parecida a la de abajo y usando el nombre del proyecto que acabas de agregar

git@github.com:tu_nick/tu_proyecto.git

4.- Subir tu proyecto

Debes crear una carpeta nueva para tu proyecto y luego iniciarlizarlo con git.

$ mkdir miProyecto
$ cd miProyecto
$ git init
Initialized empty Git repository in ../miProyecto/.git.
$ git remote add origin git@github.com:tu_nick/tu_proyecto.git remote add origin dasdfasdfasdfgit@github.com:username/Hello-World.git

La última línea relaciona tu actual directorio con la ruta de repositorio que acabas de crear y le agrega el alias "origin".  Por defecto, todos los cambios que hagas con commit se agregarán a la copia del repositorio local (llamado master) pero si quieres ver reflejados los cambios en el repositorio remoto deberás usar push.
Ejemplo:

$ echo "Este proyecto es una prueba del uso de gitHub" > README
$ git add README
$ git commit README -m"Este es mi primer archivo que agrego"
$ git push origin master

De esta manera puedes ir agregando elementos a tu proyecto y subiendolos al repositorio.

5.- Otros comandos que debes saber

Para descargar una copia del repositorio remoto (como hacer un checkout en SVN):
$ git clone usuario@192.168.0.1:/ruta/al/proyecto
 que sería lo mismo con un proyecto en gitHub
$ git clone git@github.com:tu_nick/tu_proyecto.git


Para actualizar el repositorio (envia los cambios de master a origin):
$ git push -u origin master

Para ver todos los cambios, ver el log:
$ git log
 
Para ver los cambios entre la version anterior y la actual:
$ git show

Para ver todos los archivos con cambios y pendientes de subir:
$ git status

Para crear un branch
$ git branch nombreBranch -m"Un mensaje descriptivo"

Para crear un tag (cuando se hace un push para subir los cambios al repositorio remoto, no toma en cuenta los tags creados, es un comportamiento por defecto, por lo que si queremos subir un tag hay que usar el parametro --tags):
$ git tag -a nombreTag -m"Un mensaje descriptivo"

Para hacer un switch a otro branch:
$ git checkout nombreBranch

Fuentes:

2 comentarios:

Que opinas sobre esta publicación?