gitjsdavid



gitjsdavid

0 0


gitjsdavid


On Github dangior / gitjsdavid

Git and Github

David García Fernández

david.garcia120@gmail.com

https://about.me/davidgarciafer

Antes de Git eran populares otros repos de versiones...

Apache Subversion

TFS

TortoiseSVN

Entre otros...

La experiencia

  • No todos eran open source
  • No son distribuidos
  • Poca tolerancia a los fallos
  • La colaboración era difícil

Git nos ofrece

  • Repositorios distribuidos
  • Versatilidad
  • Potencia
  • Tolerancia a despistes (es muy fácil revertir cambios)
  • (Casi) todo el mundo usa Git

Primeros pasos

Si necesitas ayuda...

git help

O de un comando específico

git help commit

Primero crearemos un fichero JS cualquiera suma.js

var x = 5;
var y = 6;
var z = x + y;
console.log(z);

Para crear nuestro repositorio Git es tan sencillo como...

$ git init
$ Initialized empty Git repository in /Users/david/Documents/Iron Hack/ejemplosSlides/.git/

¿Estás perdido?

En cualquier momento puedes ver el estado de tu repo (repositorio en jerga) con

git status

$ git status
$ On branch master

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    suma.js

nothing added to commit but untracked files present (use "git add" to track)

Muestra información del estado de los archivos modificados, del branch actual y commits

Los archivos recién creados o modificados se muestran en rojo. Con git add pasan al área de Staging

git add

$ git add suma.js
$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

    new file:   suma.js

Staging Area

Donde podemos ver los ficheros que van a entrar en el siguiente commit que hagamos

Git add admite muchos tipos de atributos y wildcards

$ git add <list of files>
$ git add --all
$ git add *.txt
$ git add docs/*.txt
$ git add docs/
$ git add "*.txt"

Git commit

Hacemos un commit de los cambios en Staging, es buena práctica escribir una descripción del alcance y contenido del commit.

$ git commit -m "Primer commit, suma.js"
[master (root-commit) 0b8b558] Primer commit, suma.js
 1 file changed, 4 insertions(+)
 create mode 100644 suma.js

¡Enhorabuena!

Has creado tu primer repo y commit, tus cambios están a salvo

Github

Haciendo nuestro repo remoto y accesible

http://www.github.com

Registro

¿Qué tengo a mano en Github?

Actualmente Git está a caballo entre cloud repo y red social para developers, ¿no es genial?

Subamos nuestro repo a Github

Con la URL de nuestro repo que obtenemos de Github:

$ git add origin <URL>
$ git push -u origin master
  • -u Le dice a git que guarde los parámetros, la siguiente vez solo será necesario git push
  • origin Es el nombre del remote
  • master El nombre del branch

Si nos queremos traer los cambios que han hecho otras personas

$ git pull origin master

Se baja los cambios y hace un merge con lo que tenemos en local, esto es un poco arriesgado si no estamos seguros de lo que nos vamos a bajar, en su lugar:

$ git fetch

Git fetch se baja los cambios pero no los mergea hasta que nosotros se lo decimos:

$ git merge

Ahora a practicar creando vuestro repo local y remoto

Git and Github David García Fernández david.garcia120@gmail.com https://about.me/davidgarciafer