<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-4144857776401971261</atom:id><lastBuildDate>Mon, 21 May 2012 06:14:01 +0000</lastBuildDate><category>linux</category><category>github</category><category>control de versiones</category><category>ubuntu</category><category>open source</category><category>git</category><category>codigo</category><title>campbrew</title><description>just an space of/for developers with bit of free time</description><link>http://www.campbrew.com/</link><managingEditor>noreply@blogger.com (joselo)</managingEditor><generator>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4144857776401971261.post-4241171969919302448</guid><pubDate>Sun, 06 Nov 2011 04:32:00 +0000</pubDate><atom:updated>2011-11-06T11:17:05.757-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>open source</category><category domain='http://www.blogger.com/atom/ns#'>linux</category><category domain='http://www.blogger.com/atom/ns#'>git</category><category domain='http://www.blogger.com/atom/ns#'>control de versiones</category><category domain='http://www.blogger.com/atom/ns#'>github</category><category domain='http://www.blogger.com/atom/ns#'>codigo</category><category domain='http://www.blogger.com/atom/ns#'>ubuntu</category><title>Introducción a Git y GitHub</title><description>&lt;div style="text-align: justify;"&gt;No puedo empezar este post sin&amp;nbsp;mencionar&amp;nbsp;que para mucha gente aún el uso de &lt;a href="http://es.wikipedia.org/wiki/CVS" target="_blank"&gt;CVS&lt;/a&gt; o &lt;a href="http://es.wikipedia.org/wiki/Subversion" target="_blank"&gt;Subversion&lt;/a&gt; como herramientas para el control de versiones es muy&amp;nbsp;común en sus proyectos, no quiero caer en el punto de despreciar una herramienta en particular ya que todas son valiosas o fueron valiosas en determinados momentos del tiempo, pero es importante decir que gracias al &lt;a href="http://es.wikipedia.org/wiki/Software_libre" target="_blank"&gt;Software Libre&lt;/a&gt; y &lt;a href="http://es.wikipedia.org/wiki/Opensource" target="_blank"&gt;Código Abierto&lt;/a&gt; justamente muchas herramientas&amp;nbsp;mejoran gracias a las seguimiento de buenas practicas por parte de los desarrolladores que trabajan en ellas.&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;Una de estas herramientas es &lt;a href="http://git-scm.com/" target="_blank"&gt;Git&lt;/a&gt;. Git es un sistema de control de versiones distribuido que permite llevar el versionamiento de archivos, en nuestro caso especifico nos permite versionar&amp;nbsp;el&amp;nbsp;código&amp;nbsp;de nuestros proyectos.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Este post no pretende ser una introducción completa a Git ya que existe&amp;nbsp;excelente&amp;nbsp;información&amp;nbsp;al respecto:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://book.git-scm.com/"&gt;http://book.git-scm.com/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://progit.org/book/"&gt;http://progit.org/book/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;Mas bien la idea es introducirlos un poco al mundo de &lt;a href="https://github.com/" target="_blank"&gt;GitHub&lt;/a&gt;, GitHub es una aplicación web mundialmente conocida que aloja proyectos open source y proyectos privados; a proposito proyectos open source muy importantes como el Kernel de Linux, jQuery, Ruby on Rails entre otros.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-C9KW75mJ3uM/TrXMSVjxR7I/AAAAAAAAAUw/OTjnPIjWleg/s1600/githubidea.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="80" src="http://2.bp.blogspot.com/-C9KW75mJ3uM/TrXMSVjxR7I/AAAAAAAAAUw/OTjnPIjWleg/s320/githubidea.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Mas en:&amp;nbsp;&lt;a href="https://github.com/popular/watched"&gt;https://github.com/popular/watched&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;GitHub&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-pV7CmE39Zfc/TrYGBBScIoI/AAAAAAAAAWg/RtEvH8ZxJXo/s1600/octocat.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-pV7CmE39Zfc/TrYGBBScIoI/AAAAAAAAAWg/RtEvH8ZxJXo/s320/octocat.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Github es una aplicación web de colaboración que te permite llevar el historial de tu&amp;nbsp;código, seguir proyectos, colaborar con proyectos en fin hacer que la experiencia de escribir código sea mas social,&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Aunque&amp;nbsp;debo decir que una de las partes que más me ha gustado el tiempo que llevo usandolo es, encontrar una&amp;nbsp;increíble&amp;nbsp;cantidad de desarrolladores talentosos a los cuales uno puede seguir y aprender&amp;nbsp;muchísimo.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;Bueno manos a la obra que debo hacer para empezar a alojar mi&amp;nbsp;código&amp;nbsp;en GitHub?, pues como requisito antes de pensar en crear una cuenta,&amp;nbsp;deberías&amp;nbsp;tener instalado Git, sigue los siguientes pasos para instalar. (Lo siento si no usas alguna&amp;nbsp;distribución&amp;nbsp;basada en Unix, como Ubuntu o Mac OS X, asumo que al menos tienes nociones básicas del uso de comando en una consola en entornos Unix, sino es así ya es tiempo de que te cuestiones la razón de tu existencia :), es broma.. no es tan malo, revisa un poco y luego pasate por este post).&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Pre requisitos &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;1. Instalar Git&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ubuntu&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: shell"&gt;$ sudo apt-get install git-core&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;No viene mucho al caso (por ahora) pero si eres novato en Ubuntu te recomiendo instalar.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: shell"&gt;$ apt-get install build-essential&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Mac OS X&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Si usas Mac OS X&amp;nbsp;deberías&amp;nbsp;conocer esta herramienta:&amp;nbsp;&lt;a href="http://mxcl.github.com/homebrew/"&gt;http://mxcl.github.com/homebrew/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: shell"&gt;$ brew install git&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Luego de la instalación, comprueba si efectivamente git fue instalado correctamente&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ git --version&lt;br /&gt;&lt;/pre&gt;&lt;pre class="brush: plain"&gt;git version 1.7.7&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;2. Autenticación&amp;nbsp;basada en llaves SSH (SSH Keys)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;En este punto es importante que sepas que GitHub utiliza una &lt;a href="http://es.wikipedia.org/wiki/Criptograf%C3%ADa_asim%C3%A9trica" target="_blank"&gt;infraestructura de llave publica/privada&lt;/a&gt; para establecer una conexión segura entre tu computador y GitHub mediante &lt;a href="http://es.wikipedia.org/wiki/Secure_Shell" target="_blank"&gt;SSH&lt;/a&gt;. Es posible que ya cuentes con tus "SSH Keys", si esto es así deberías tener este directorio oculto llamado ".ssh" en tu directorio personal:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;pre class="brush: shell"&gt;$ ls ~/.ssh&lt;br /&gt;&lt;/pre&gt;&lt;pre class="brush: plain"&gt;config &amp;nbsp;id_rsa &amp;nbsp;id_rsa.pub &amp;nbsp;known_hosts&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Si es así puedes saltarte al paso 3, de lo contrario sigue leyendo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Entonces lo primero, es crear nuestras llaves de la siguiente manera:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;pre class="brush: shell"&gt;$ ssh-keygen -t rsa -C "tu_correo@ejemplo.com"&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;pre class="brush: plain"&gt;Generating public/private rsa key pair.&lt;br /&gt;Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):&amp;lt;preciona ENTER&amp;gt;&lt;br /&gt;&lt;/pre&gt;Luego te pedira que ingreses una frase, si gustas puedes escribir una frase sino puedes presionar ENTER &lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;pre class="brush: plain"&gt;Enter passphrase (empty for no passphrase):&amp;lt;presiona ENTER&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;pre class="brush: plain"&gt;Enter same passphrase again:&amp;lt;presiona ENTER&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Luego de deberias ver algo parecido a esto:&lt;/div&gt;&lt;pre class="brush: plain"&gt;Your identification has been saved in /home/tu_directorio_local/.ssh/id_rsa.&lt;br /&gt;Your public key has been saved in /home/tu_directorio_local/.ssh/id_rsa.pub.&lt;br /&gt;The key fingerprint is:&lt;br /&gt;01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db user_name@username.com&lt;br /&gt;The key's randomart image is:&lt;br /&gt;+--[ RSA 2048]----+&lt;br /&gt;|     .+   +      |&lt;br /&gt;|       = o O .   |&lt;br /&gt;|        = * *    |&lt;br /&gt;|       o = +     |&lt;br /&gt;|      o S .      |&lt;br /&gt;|     o o =       |&lt;br /&gt;|      o . E      |&lt;br /&gt;|                 |&lt;br /&gt;|                 |&lt;br /&gt;+-----------------+&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;Listo, puedes ver cual es tu clave publica así&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ cat .ssh/id_rsa.pub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;3) Crear una cuenta en GitHUB&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ve al sitio de &lt;a href="https://github.com/" target="_blank"&gt;GitHub&lt;/a&gt; y create una cuenta.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-a0ib9GyPk_w/TrXmjrxdZ8I/AAAAAAAAAU4/kFN0eVaKv5I/s1600/github1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="39" src="http://1.bp.blogspot.com/-a0ib9GyPk_w/TrXmjrxdZ8I/AAAAAAAAAU4/kFN0eVaKv5I/s320/github1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;Una vez que ya tengas tu cuenta en GitHub es tiempo de agregar tu "SSH Key", para ello ve a &amp;nbsp;las "Configuración de tu cuenta" en GitHub.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-YvWgOruLrdI/TrXowohlFVI/AAAAAAAAAVI/UsodT6SAXFI/s1600/github4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="35" src="http://4.bp.blogspot.com/-YvWgOruLrdI/TrXowohlFVI/AAAAAAAAAVI/UsodT6SAXFI/s320/github4.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Luego click en "SSH Public Keys" y&amp;nbsp;después&amp;nbsp;en "Add another public key"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-tGa5RJeY968/TrXo6vuUYZI/AAAAAAAAAVQ/9y7qJSsayeU/s1600/github6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="158" src="http://2.bp.blogspot.com/-tGa5RJeY968/TrXo6vuUYZI/AAAAAAAAAVQ/9y7qJSsayeU/s320/github6.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;En este punto&amp;nbsp;deberás&amp;nbsp;copiar y pegar la clave publica (SSH Key) que generamos en el paso dos, para copiarla puedes hacer lo&amp;nbsp;siguiente.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ cat .ssh/id_rsa.pub&lt;br /&gt;&lt;/pre&gt;&lt;pre class="brush: plain"&gt;ssh-rsa asdsadwewqeqweqfdevgBU7EIHJP1VBICWAjiEJ+EvUiroAwAEkskTjKPM8HsOOvSVsml7c43eQxhAasdasd6VEBxssHqOasdsad8uUdg1+qQa/Estakeynoesvalida:)RASAasdasdUasdasdSulAiZuZkSDznKvoR8CDNasdasd2wasdasdSP+Lwsh8y+YUwrWasdassa+kADnaj+QirwwasdhSgtLBXpuUl2mtNENgXasdasdasdadNSV0BPtasdasdHxSkKasdasdGYZs55+s3 tu_correo@ejemplo.com&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;copia y pega la llave ssh en GitHub y dale click al botón de "Add Key".&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-40uM0EGLV54/TrXq_GMT8NI/AAAAAAAAAVg/AdoInri0NPw/s1600/github8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="242" src="http://3.bp.blogspot.com/-40uM0EGLV54/TrXq_GMT8NI/AAAAAAAAAVg/AdoInri0NPw/s320/github8.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Es de suma importancia de que copies bien y pegues bien la llave ssh de lo contrario la conexión con GitHub fallara.&lt;br /&gt;&lt;br /&gt;Una vez echo esto si todo ha ido bien, comprueba tu conexión contra GitHub así.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ ssh -T git@github.com&lt;br /&gt;&lt;/pre&gt;&lt;pre class="brush: plain"&gt;Hi comotellames! You've successfully authenticated, but GitHub does not provide shell access.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;4) Crear nuestro primer repositorio&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ahora es tiempo de crear nuestro primer repositorio y empezar a jugar un poco con Git y Github, para ello vamos a nuestro "Dashboard"&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-fUB_HGtrJvU/TrXt-hzKiOI/AAAAAAAAAVo/QPZ1MRk9jeM/s1600/github9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="28" src="http://4.bp.blogspot.com/-fUB_HGtrJvU/TrXt-hzKiOI/AAAAAAAAAVo/QPZ1MRk9jeM/s320/github9.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Luego le damos click en "New Repository"&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7s1Fz1yXtgo/TrXuYHmgpQI/AAAAAAAAAVw/IwvCJsBnbfk/s1600/github10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="124" src="http://2.bp.blogspot.com/-7s1Fz1yXtgo/TrXuYHmgpQI/AAAAAAAAAVw/IwvCJsBnbfk/s320/github10.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Llenamos los datos de nuestro proyecto.&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-7zzGwnoXTI8/TrXvTlZmOEI/AAAAAAAAAV4/6LDfPcutmrE/s1600/github11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="218" src="http://1.bp.blogspot.com/-7zzGwnoXTI8/TrXvTlZmOEI/AAAAAAAAAV4/6LDfPcutmrE/s320/github11.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Luego de ello es muy&amp;nbsp;sencillo&amp;nbsp;crear nuestro repositorio, GitHub incluso nos muestra las instrucciones que debemos seguir:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-kGKAbpVeuZw/TrX2YkjxX4I/AAAAAAAAAWI/H8KTmQT7LXA/s1600/github13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="162" src="http://2.bp.blogspot.com/-kGKAbpVeuZw/TrX2YkjxX4I/AAAAAAAAAWI/H8KTmQT7LXA/s320/github13.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Entonces&amp;nbsp;empecemos&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;5) Subir nuestros cambios a GitHub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Lo primero es&amp;nbsp;configurar&amp;nbsp;git en nuestra computadora a fin de que sepa que persona sube el&amp;nbsp;código, para ello realizamos:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ git config --global user.name "TU NOMBRE"&lt;br /&gt;$ git config --global user.email tu_correo@ejemplo.com&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Por lo general para mis proyectos, todo el código lo tengo en una carpeta llamada "code" en mi directorio personal, si tu no lo tienes puedes crear el directorio.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ mkdir code&lt;br /&gt;$ cd mkdir&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Luego dentro, podemos seguir las instrucciones de GitHub para crear el repositorio.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ mkdir demogit&lt;br /&gt;$ cd demogit&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Inicializamos el repositorio&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ git init&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Creamos un archivo vacio&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ touch README&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Agregamos el archivo creado a git&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ git add README&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Subimos el archivo como nuestro "primer commit", es importante&amp;nbsp;mencionar&amp;nbsp;que a diferencia de otros herramientas de control de versiones como CVS y Subversion, Git es un sistema de versionamiento distribuido, esto quiere decir que al realizar un "commit" este se&amp;nbsp;hará&amp;nbsp;unicamente localmente, es decir podemos llevar un control de cambios localmente con varios "commits".&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="brush: shell"&gt;$ git commit -m 'primer commit'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Una vez registrado nuestros cambios locales, es hora de subir los cambios al repositorio de GitHub, para ello agregamos la&amp;nbsp;dirección&amp;nbsp;del repositorio remoto. Este paso unicamente lo realizamos la primera vez que subimos el&amp;nbsp;código, es decir la siguiente vez que vayamos a subir cambios del código no tendremos que agregar la dirección del repositorio remoto de nuevo.&lt;/div&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ git remote add origin git@github.com:cbfolks/demogit.git&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Recuerda que en el paso anterior la dirección que estoy usando es "git@github.com:cbfolks/demogit.git", la dirección para el repositorio que hayas creado para tí seguramente sera diferente :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finalmente subimos los cambios a GitHub&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ git push -u origin master&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Y eso es todo en el ejemplo que estoy usando mi repositorio esta aqui&lt;br /&gt;&lt;br /&gt;&lt;a href="https://github.com/cbfolks/demogit"&gt;https://github.com/cbfolks/demogit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ahora es tiempo de jugar un poco haciendo cambios &amp;nbsp;a nuestro repositorio.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;6) Clonar un repositorio, hacer y subir cambios.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Aunque te sorprenda un poco, lo que primero aremos ahora es borrar nuestro proyecto localmente, esto no nos preocupa ya que ya lo tenemos en GitHub.&lt;br /&gt;&lt;br /&gt;Nos vamos a nuestra carpeta "code" y borramos la carpeta de nuestro ejemplo (demogit).&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ cd ~/code&lt;br /&gt;$ rm -Rf demogit&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Luego en el el sitio de GitHub de nuestro proyecto&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bKx95s8lew4/TrX5KhP9G-I/AAAAAAAAAWQ/YOU3BOY8cQI/s1600/github14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="41" src="http://1.bp.blogspot.com/-bKx95s8lew4/TrX5KhP9G-I/AAAAAAAAAWQ/YOU3BOY8cQI/s320/github14.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Clonamos el proyecto a nuestra computadora.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-piFIMs-d3EE/TrX5lCrsciI/AAAAAAAAAWY/wfjmLBPZxH0/s1600/github15.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="25" src="http://2.bp.blogspot.com/-piFIMs-d3EE/TrX5lCrsciI/AAAAAAAAAWY/wfjmLBPZxH0/s320/github15.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;/div&gt;&lt;pre class="brush: shell"&gt;$ git clone git://github.com/cbfolks/demogit.git&lt;br /&gt;&lt;/pre&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;Deberías ver algo como esto:&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;/div&gt;&lt;pre class="brush: plain"&gt;Cloning into demogit...&lt;br /&gt;remote: Counting objects: 3, done.&lt;br /&gt;remote: Total 3 (delta 0), reused 3 (delta 0)&lt;br /&gt;Unpacking objects: 100% (3/3), done.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Listo tenemos nuestro proyecto clonado, ingresamos a la carpeta de nuestro proyecto.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ cd demogit&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Vamos a realizar un pequeño cambio a nuestro archivo README que creamos en el paso 5. Abre el archivo con tu editor preferido y escribe algo; en mi caso usare el el editor &lt;a href="http://www.vim.org/" target="_blank"&gt;VIM&lt;/a&gt; y simplemente citare una frase de &lt;a href="http://es.wikipedia.org/wiki/Nikola_Tesla" target="_blank"&gt;Nikola Tesla&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;"La idea vino como un flash de rayos y en un instante la verdad se reveló."&lt;br /&gt;&lt;br /&gt;Listo guarda el archivo y nuevamente en la consola miramos los cambios que tenemos en nuestro proyecto hasta el momento.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ git status&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Deberías ver algo como esto:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: plain"&gt;# On branch master&lt;br /&gt;# Changes not staged for commit:&lt;br /&gt;# &amp;nbsp; (use "git add &amp;lt;file&amp;gt;..." to update what will be committed)&lt;br /&gt;# &amp;nbsp; (use "git checkout -- &amp;lt;file&amp;gt;..." to discard changes in working directory)&lt;br /&gt;#&lt;br /&gt;# &amp;nbsp;  &amp;nbsp; modified: &amp;nbsp; README&lt;br /&gt;#&lt;br /&gt;no changes added to commit (use "git add" and/or "git commit -a")&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Esto nos indica que el archivo README ha sido modificado, tambien podemos ver que partes del archivo fueron cambiadas.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ git diff&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Deberías ver algo así:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: diff"&gt;diff --git a/README b/README&lt;br /&gt;index e69de29..5f653de 100644&lt;br /&gt;--- a/README&lt;br /&gt;+++ b/README&lt;br /&gt;@@ -0,0 +1 @@&lt;br /&gt;+La idea vino como un flash de rayos y en un instante la verdad se reveló.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Bien es tiempo de subir estos pequeños cambios a GitHub, para ello primero agregamos los archivos cambiados a git para que registre los cambios.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ git add -A&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Luego hacemos un "commit" localmente&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ git commit -m"frase de Nikola Tesla agregada al archivo README"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Si miramos el estado del proyecto.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ git status&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Nos debería mostrar lo siguiente&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: plain"&gt;# On branch master&lt;br /&gt;# Your branch is ahead of 'origin/master' by 1 commit.&lt;br /&gt;#&lt;br /&gt;nothing to commit (working directory clean)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Esto quiere decir que tenemos "1 commit" pendiente de subir. Pues finalmente subimos los cambios al repositorio de GitHub&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: shell"&gt;$ git push origin master&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Deberías ver algo como esto:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: plain"&gt;Delta compression using up to 4 threads.&lt;br /&gt;Compressing objects: 100% (2/2), done.&lt;br /&gt;Writing objects: 100% (3/3), 335 bytes, done.&lt;br /&gt;Total 3 (delta 0), reused 0 (delta 0)&lt;br /&gt;To git@github.com:cbfolks/demogit.git&lt;br /&gt;&amp;nbsp; &amp;nbsp;f626800..26d78b3 &amp;nbsp;master -&amp;gt; master&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Y bueno esto ha sido todo, el repositorio de ejemplo que hemos realizado lo puedes encontrar en:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://github.com/cbfolks/demogit"&gt;https://github.com/cbfolks/demogit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Espero que esta pequeña introducción a Git y GitHub les haya sido de utilidad, esperanos pronto en mas&amp;nbsp;artículos no solo sobre git sino sobre mas cosas relacionadas con programación.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Salu2!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Bonus:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Github no es el unico servicio que puede alojar tu código,&amp;nbsp;exciten&amp;nbsp;más opciones:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="https://bitbucket.org/"&gt;https://bitbucket.org/&lt;/a&gt;&lt;br /&gt;&lt;a href="https://codeplane.com/"&gt;https://codeplane.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4144857776401971261-4241171969919302448?l=www.campbrew.com' alt='' /&gt;&lt;/div&gt;</description><link>http://www.campbrew.com/2011/11/introduccion-git-y-github.html</link><author>noreply@blogger.com (joselo)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-C9KW75mJ3uM/TrXMSVjxR7I/AAAAAAAAAUw/OTjnPIjWleg/s72-c/githubidea.jpg' height='72' width='72'/><thr:total>0</thr:total></item></channel></rss>
