Giter Site home page Giter Site logo

guia_para_colaborar's Introduction

Guía para colaborar mediante GitHub

1.- Haz un fork del repositorio original

Para hacer un fork, inicia sesión en GitHub y dirígite al repositorio de tu interés. Una vez allí, presiona el botón "Fork".

alt text

Ahora tendrás una copia del repositorio de tu interés en tu cuenta.

2.- Clona el fork a tu máquina de trabajo.

Para hacer esto abre una terminal y posiciónate en el directorio donde estará el proyecto. Luego, escribe el siguiente comando:

$ git clone https://github.com/{username}/{repositorio}.git

Donde {username} es tu nombre de usuario en GitHub y {repositorio} es el nombre del repositorio.

Nota: asegúrate de instalar las dependencias necesarias para el proyecto.

Para una aplicación Ruby on Rails, basta con entrar al proyecto por línea de comandos y ejecutar las siguientes sentencias:

$ bundle install
$ rails server

3.- Flujo de trabajo

Primero, un par de conceptos:

  • Trunk o master: la ubicación principal del código en el repositorio. Si se tratara de un árbol, sería el tronco principal.
  • Branch o rama: es un "espacio paralelo" dentro del sistema de control de versiones donde estarás trabajando con las nuevas funcionalidades. Puedes imaginarlo como una copia del proyecto para uso privado: corregir errores, hacer pruebas, experimentos, etcétera.
  • Commit: confirmación de un cambio en un archivo. El archivo obtiene un número de commit, pero todo ocurre de manera local. No se sube el archivo a ninguna parte.
  • Repositorio remoto: un repositorio en tu máquina o en la de alguien más que está sincronizado con el tuyo, de algún modo. El repositorio remoto por default se llama origin y corresponde al repositorio en la máquina del cual clonaste el proyecto.

alt text

Crear un nuevo branch

$ git checkout -b *nombre_de_tu_branch*

Crear un commit (flujo completo)

$ git status     # (ves los archivos modificados)
$ git diff       # (ves el contenido de los archivos modificados)
$ git checkout -- /path/al/archivo # (descartas la modificación)
$ git add .      # (confirmas los archivos que se consignarán)
$ git commit     #para consignar
$ git log        #para revisar el historial

Para aplicar los cambios de una rama a otra, ¡fusiona! Por ejemplo, puedes fusionar funcionalidad de una rama a otra, así:

Para cambiarte al branch master:
  $ git checkout master
Para llevar los cambios del branch planes_malvados al branch master:
  $ git merge planes_malvados 

4.- Compartiendo cambios

  • Push: cuando envias un cambio a otro repositorio.
  • Pull: cuando descargas los cambios desde otro repositorio hacia el tuyo.

Para compartir tus cambios con alguien más, primero debes subir los cambios de tu repositorio local a tu repositorio alojado en GitHub.

$ git push origin master

Para que la otra persona integre tus cambios en su repositorio, debes solicitárselo mediante una característica de GitHub conocida como Pull Request.

alt text

5.- Mantente al día

Cuando el autor del repositorio haya aceptado y fusionado tus cambios, o los de otras personas, ¡puedes actualizar tu repositorio local y seguir hackeando en las cosas nuevas del proyecto!

Para actualizarte, debes tener configurado el repositorio original como repositorio remoto, en tu proyecto local. Si todavía no lo has configurado, usa este simple comando:

$ git remote add originhub https://github.com/edmt/chirakiru_blog.git

Nota: ahora tu repositorio local estará conectado a 2 repositorios remotos: el que está en tu cuenta en GitHub y éste.

Finalmente, para descargar todos los cambios, siempre y cuando te encuentres en el branch master:

$ git branch   # debe imprimir "master"
$ git pull originhub master

Créditos

Copyleft © 2013

guia_para_colaborar's People

Contributors

edmt avatar

Watchers

James Cloos avatar Miguel Angel Bueno avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.