Introducción a GitHub

August 31, 2017 | Author: Alexander Eberle Renzulli | Category: Utility Software, Information Technology Management, Technology, Computing, Computer Engineering
Share Embed Donate


Short Description

Download Introducción a GitHub...

Description

Introducción a GitHub Introducción Éste paper está orientado únicamente a la explicación de mi modalidad de trabajo, que es una de las tantas posibles, además está orientado a resumir cosas para mi compañero de trabajo que no conoce git. Basaré este pdf en github porque es el proveedor de repositorios que usaremos, y usaremos en general su aplicación para trabajar (Git Shell). Bueno eso es todo, espero que el lector aprecie la simplicidad del pdf.

Introducción breve a GIT Git es un sistema de versiones que permite controlar y programar en conjunto con varias personas, originalmente diseñado para trabajar sobre el desarrollo de Linux. Git presenta un trabajo en ramas, donde en cada rama se puede manipular una versión diferente del código.

Introducción a RAMAS (Branch) En la rama principal o MASTER se puede apreciar el código “final” o el resultado de todas las modificaciones hechas al código por las distintas versiones. En otras palabras en git hay ramas, las ramas son versiones de un código, 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 código original que se encuentra en master, luego se irán haciendo las modificaciones que tengan que ver con las noticias y serán guardadas en la rama noticias. Pero si ustedes cambian a la rama MASTER podrán ver que el código no sufrió cambios, y si hay otra rama que trabaja con modificaciones al panel de administración, esa rama tampoco sufrirá cambios. Una vez que se termina de desarrollar una rama, esta es integrada o se le hace un “merge” que es lo mismo para éste caso, y la rama master contendrá todas las modificaciones que se hicieron respecto a las noticias.

En resumen en las ramas se puede trabajar con todo el código sin afectar a otras ramas que quieran modificar otra cosa. Para ejemplificarlo, si yo tengo mi código del shop en la rama MASTER, y necesito agregarle noticias y administración, creo dos ramas, en las 3 ramas voy a tener el mismo código, cuando realice modificaciones que tengan que ver con noticias, las guardaré en la rama de noticias, y solo serán 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 código funcional y estable de la versión actual, y en la rama develop se irán incorporando cambios hasta que los cambios previstos estén listos y se integran a la rama master, luego se continúan las modificaciones agregándolas en la rama develop y cuando están listas nuevas modificaciones, se integran a la rama MASTER, siempre en la rama master tendremos la última versión que está funcionando, y en la rama develop tendremos el código que está a medio hacer, o no fue probado.

Servidor – Cliente Una de las ideas de github es que cada persona del equipo siempre tenga el código 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 código para tener la última versión, 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 tendrán la última versión.

Empezando con GIT ESTO SOLO DEBE SER HECHO LA PRIMERA VEZ QUE INSTALAS EL PROGRAMA Github tiene dos formas de trabajarlo, la versión visual, y la versión de consola, yo en lo personal uso la versión sin interfaz gráfica, 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 versión del proyecto de otro clonando el proyecto y metiéndolo en un repositorio propio, aunque esto no va al caso porque esta guía está orientada a mi colaborador y yo ya tengo armado el repo.)

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 ubicación donde querrás poner los archivos (yo por ejemplo lo tengo ubicado en htdocs de mi localhost). Escribirás el comando: git init para inicializar git. git remote add origin (y ahí ponés la url del repo) que en el caso del shop de smf sería 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 deberías 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 escribirás tu contraseña (aunque no te la muestre ni te muestre asteriscos se está escribiendo.) Lugo te pedirá que vuelvas a escribir tu contraseña. 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:

# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected] Algo así más 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 página de github, entrar a la configuración 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 configuración 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 contraseña de git, si no tira ningún 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 versión actual estable, los cambios los realizaremos en la rama develop por lo que SIEMPRE debes estar en dicha rama, fíjate que entre corchetes te debe decir [master] y tu deberías 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 día Todos los días debes actualizar tu versión y enviar los cambios que hayas realizado cuando termines de hacer algo. Es recomendable solo hacer esto una vez al día, cuando enciendes tu pc por la mañana escribes git pull origin develop y obtendrás todos los cambios hechos en la rama

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 día, y no vayas a hacer modificaciones, puedes enviar todos tus cambios para que queden asentados en el servidor escribiendo git push origin develop (aunque también 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 prácticamente lo que podría ser archivo->guardar de un editor de texto, solo que registran una serie de cambios y les ponen un título, 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 descripción diciendo “arreglé tal cosa”. Para eso pones git commit a msg “arreglé tal cosa” y 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 recién están empezando con esto, algunas cosas las omito porque son demasiado para alguien que recién 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 más). Cuando vas a empezar a hacer una serie de modificaciones primero obtienes la versión actual del código poniendo: Git pull origin develop Y luego cada vez que hagas una modificación 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”

Una vez que finalizas todas tus modificaciones envías todos los commits para que queden acentados en el servidor. Git push origin develop Pones tu usuario y contraseña y esperas hasta que termine de subir todo al server.

Notas finales Esto es una guía muy recontra resumida, faltan muchísimas cosas que se deben explicar, pero la idea de este pequeño pdf es introducir a los conceptos minimos para que algún ayudante pueda colaborar en un repositorio git. Un saludo y espero que les sirva.

Visita http://underc0de.org Documento escrito por el equipo de UnderC0de++

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF