8/14/2019 Introduccin a GitHub
1/6
Introduccin a GitHub
Introduccin
ste paper est orientado nicamente a la explicacin de mi modalidad de trabajo, que
es una de las tantas posibles, adems est orientado a resumir cosas para mi
compaero de trabajo que no conoce git.
Basar este pdf en github porque es el proveedor de repositorios que usaremos, yusaremos en general su aplicacin para trabajar (Git Shell).
Bueno eso es todo, espero que el lector aprecie la simplicidad del pdf.
Introduccin breve a GIT
Git es un sistema de versiones que permite controlar y programar en conjunto con
varias personas, originalmente diseado para trabajar sobre el desarrollo de Linux.
Git presenta un trabajo en ramas, donde en cada rama se puede manipular unaversin diferente del cdigo.
Introduccin a RAMAS (Branch)
En la rama principal o MASTER se puede apreciar el cdigo finalo el resultado de
todas las modificaciones hechas al cdigo por las distintas versiones.
En otras palabras en git hay ramas, las ramas son versiones de un cdigo, por ejemplo
si estamos trabajando en una tienda, y se le quisiera agregar un apartado de noticias,
se crea una rama de noticias y en esa rama estar todo el cdigo original que seencuentra en master, luego se irn haciendo las modificaciones que tengan que ver
con las noticias y sern guardadas en la rama noticias. Pero si ustedes cambian a la
rama MASTER podrn ver que el cdigo no sufri cambios, y si hay otra rama que
trabaja con modificaciones al panel de administracin, esa rama tampoco sufrir
cambios.
Una vez que se termina de desarrollar una rama, esta es integrada o se le hace un
mergeque es lo mismo para ste caso, y la rama master contendr todas las
modificaciones que se hicieron respecto a las noticias.
8/14/2019 Introduccin a GitHub
2/6
En resumen en las ramas se puede trabajar con todo el cdigo sin afectar a otras ramas
que quieran modificar otra cosa.
Para ejemplificarlo, si yo tengo mi cdigo del shop en la rama MASTER, y necesito
agregarle noticias y administracin, creo dos ramas, en las 3 ramas voy a tener el
mismo cdigo, cuando realice modificaciones que tengan que ver con noticias, las
guardar en la rama de noticias, y solo sern guardadas en esa rama, por lo que
master seguir igual, esto permite que si met la pata, otras ramas o personas que
trabajan en otra cosa no se vean afectadas.
Esa es la idea de ramas.
En mi forma de trabajar solo hay dos ramas, la MASTER y la develop, en la rama
maestra se aprecia el cdigo funcional y estable de la versin actual, y en la rama
develop se irn incorporando cambios hasta que los cambios previstos estn listos y seintegran a la rama master, luego se continan las modificaciones agregndolas en la
rama develop y cuando estn listas nuevas modificaciones, se integran a la rama
MASTER, siempre en la rama master tendremos la ltima versin que est
funcionando, y en la rama develop tendremos el cdigo que est a medio hacer, o no
fue probado.
ServidorCliente
Una de las ideas de github es que cada persona del equipo siempre tenga el cdigo
actualizado, por lo que todas las modificaciones se van guardando en el servidor.
Nosotros tenemos un cliente en nuestra computadora, y cada vez que entremos al
cliente actualizaremos nuestro cdigo para tener la ltima versin, y empezaremos a
programar, cuando terminemos de hacer lo que hicimos, nosotros enviaremos los
cambios al servidor, y si todos los miembros del equipo hacen esto, siempre tendrn la
ltima versin.
Empezando con GIT
ESTO SOLO DEBE SER HECHO LA PRIMERA VEZ QUE INSTALAS EL PROGRAMA
Github tiene dos formas de trabajarlo, la versin visual, y la versin de consola, yo en
lo personal uso la versin sin interfaz grfica, se llama gitshell.
Lo primero que tenes que hacer es tener instalado el programa y tener una cuenta en
github, debes tener permisos para trabajar en un repositorio de otra persona, por lo
que debes pasarle los datos y pedirle que te agregue al proyecto (aunque siempre
puedes crear tu propia versin del proyecto de otro clonando el proyecto y metindolo
en un repositorio propio, aunque esto no va al caso porque esta gua est orientada ami colaborador y yo ya tengo armado el repo.)
8/14/2019 Introduccin a GitHub
3/6
Copiando el repositorio
Una vez que tengas acceso al repositorio, lo que vas a hacer es copiarlo, debes abrir
git-shell y moverte con cd hasta la ubicacin donde querrs poner los archivos (yo por
ejemplo lo tengo ubicado en htdocs de mi localhost).
Escribirs el comando: git init para inicializar git.
git remote add origin (y ah pons la url del repo)
que en el caso del shop de smf sera esto:
https://github.com/alexander171294/smfshop.git
quedando el comando as:
git remote add origin https://github.com/alexander171294/smfshop.git
Una vez que hallas hecho este paso, ya deberas tener en la carpeta los archivos del
proyecto.
Probablemente haya creado una carpeta llamada smfshop y adentro el proyecto,
asique debes moverte dentro de esa carpeta con cd smfshop.-
Configurando la clave SSH
Vas a escribir esto:
ssh-keygen -t rsa -C [email protected]
ah debes cambia rese email por el email que tienes en github.
Presionas enter y te dir algo as como:
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa):
Ah presionas enter.
Enter passphrase (empty for no passphrase):
Cuando te diga eso escribirs tu contrasea (aunque no te la muestre ni te muestre
asteriscos se est escribiendo.)
Lugo te pedir que vuelvas a escribir tu contrasea.
Una vez que est terminado te dir que cre la clave ssh
# Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
https://github.com/alexander171294/smfshop.githttps://github.com/alexander171294/smfshop.gitmailto:[email protected]:[email protected]:[email protected]:[email protected]://github.com/alexander171294/smfshop.git8/14/2019 Introduccin a GitHub
4/6
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:[email protected]
Algo as ms o menos, tienes que ir a la carpeta donde te figura que est el archivo
id_rsa.pub y abrirlo con un editor de texto, copiar todo el contenido e ir a la pgina de
github, entrar a la configuracin de tu cuenta, y en el men hay un boto que dice
SSH-KEYS, tienes que presionar ah, y luego donde dice Add SSH Key.
Pegas en ese cuadrado de texto lo que copiaste de ese archivo, y le pones un nombre
como te pide ah, lo guardas y listo, hasta ac tenemos configurada la clave SSH que es
lo primero para que github te identifique cuando te quieras conectar.
Configurando datos
Para finalizar con la configuracin lo que vamos a hacer es poner los siguientes dos
comandos:
git config --global user.email "[email protected]"
git config --global user.name "alexander171294"
Cambia eso por tus datos.
Para verificar que todo est listo, vas a escribir
git push origin master
Te pedir el nombre de usuario y contrasea de git, si no tira ningn error y te dice:
Everything up-to-date
Es que hasta ahora todo sali bien.
Moverse de rama.
Como dije en nuestro proyecto hay solo dos ramas, develop que guarda todos los
cambios y master que tiene la versin actual estable, los cambios los realizaremos en
la rama develop por lo que SIEMPRE debes estar en dicha rama, fjate que entrecorchetes te debe decir [master] y tu deberas estar en [develop], para lo cual tienes
que escribir git checkout develop con ese comando te puedes mover de rama.
Verificando que todo est al da
Todos los das debes actualizar tu versin y enviar los cambios que hayas realizado
cuando termines de hacer algo.
Es recomendable solo hacer esto una vez al da, cuando enciendes tu pc por la maana
escribes git pull origin developy obtendrs todos los cambios hechos en la rama
mailto:[email protected]:[email protected]:[email protected]:[email protected]8/14/2019 Introduccin a GitHub
5/6
develop (si te dice Already up-to-date) es que desde la ltima vez no se han realizado
cambios.
Cuando hayas hecho todos los commits al final del da, y no vayas a hacer
modificaciones, puedes enviar todos tus cambios para que queden asentados en el
servidor escribiendo git push origin develop(aunque tambin puedes hacerlo cada
cierta cantidad de commits), los commits los explicar en el siguiente apartado.
Guardando cambios
Los commits para que el lector me entienda, son prcticamente lo que podra ser
archivo->guardar de un editor de texto, solo que registran una serie de cambios y les
ponen un ttulo, cuando realices una serie de cambios en archivos, por ejemplo
arreglas un error modificando algunos archivos, entonces guardas los archivos, vas a la
consola y le avisas a git que realizaste los cambios y le pones una descripcin diciendoarregl tal cosa. Para eso pones git commit a msg arregl tal cosay presionas
enter xD.
Previamente debes poner
git add .
si, incluido el punto, para que especifique que archivos van a entrar en el commit, el
punto hace que entren todos los archivos, pero para los que recin estn empezando
con esto, algunas cosas las omito porque son demasiado para alguien que recin
empieza.
Resumen
La primera vez creas la clave ssh, clonas el repositorio y configuras tus datos en la
consola (esto solo cuando instalaste el git por primera vez, luego no debes hacerlo
ms).
Cuando vas a empezar a hacer una serie de modificaciones primero obtienes la versin
actual del cdigo poniendo:
Git pull origin develop
Y luego cada vez que hagas una modificacin por ejemplo arreglar algo haces un
commit, luego modificas otra cosa, haces otro commit, luego modificas otra cosa haces
otro commit, para hacer un commit les recuerdo que es de esta forma:
git add .
git commit a msg arregl tal cosa
8/14/2019 Introduccin a GitHub
6/6
Una vez que finalizas todas tus modificaciones envas todos los commits para que
queden acentados en el servidor.
Git push origin develop
Pones tu usuario y contrasea y esperas hasta que termine de subir todo al server.
Notas finales
Esto es una gua muy recontra resumida, faltan muchsimas cosas que se deben
explicar, pero la idea de este pequeo pdf es introducir a los conceptos minimos para
que algn ayudante pueda colaborar en un repositorio git.
Un saludo y espero que les sirva.
Visitahttp://underc0de.org
Documento escrito por el equipo de
UnderC0de++
http://underc0de.org/http://underc0de.org/http://underc0de.org/http://underc0de.org/Top Related