Diferencia entre revisiones de «Usuario:ManuelRomero/Git»

De WikiEducator
Saltar a: navegación, buscar
Línea 2: Línea 2:
 
<div class="slides layout-regular template-default">
 
<div class="slides layout-regular template-default">
 
<div class="slide">
 
<div class="slide">
 +
 +
 +
===Referencias===
 
{{Recursos de la Web|
 
{{Recursos de la Web|
 
*https://www.codecademy.com/es/learn/learn-git
 
*https://www.codecademy.com/es/learn/learn-git
Línea 8: Línea 11:
 
*https://medium.freecodecamp.com/7-git-hacks-you-just-can-t-ignore-41aea137727a#.1zxxt4xwl(edited)
 
*https://medium.freecodecamp.com/7-git-hacks-you-just-can-t-ignore-41aea137727a#.1zxxt4xwl(edited)
 
}}
 
}}
 
 
 
===Qué es Git===
 
===Qué es Git===
 
[[Imagen:logoGit.png|200px|center]]
 
[[Imagen:logoGit.png|200px|center]]

Revisión de 09:15 10 ene 2016

Concepto de git
  • Esto implica que podemos establecer estados o versiones y podemos, en un momento dado, recuperar ese fichero o conjunto de ficheros a una versión concreta.
  • Esto también conlleva intrínsecamente copias de seguridad (Una por cada versión).
  • Con git puedo (debo) tener una copia del proyecto en un momento dado en mi local a partir de un servidor donde está el código del proyecto. Después de trabajar en local lo volveré a dejar en el servidor
Ventajas
  • Recupear el conjunto de ficheros (1 0 más) de una versión concreta.
  • Analizar los cambios realizados entre dos versiones
  • Ver el seguimiento de un proyecto o preceso de realización de los ficheros / Aplicaciones.
  • Ver quién y cuándo ha realizado cambios.
  • En general controlar la evolución del proyecto.
Git como un sistema descentralizado
  • Centralizado Vs Descentralizado
Sistema centralizado
SistemaCentralizado.png
  • Todas las operaciones se hacen sobre un servidor
Sistema descentralizado
  • Las operaciones las hacemos sobre un local (En local tenemos que tener un repositorio).
  • Cuando queremos, podemos subir los cambios a un servidor.
  • Del servidor podemos volver a establecer un estado de partido o establecer un repositorio en local

GitDescentralizado.png

Funcionamiento de Git

  • Funciona como un sistema descentralizado
  • Cada vez que guardamos cambios hace una copia del proyecto tal cual está
  • Si algún fichero no tuvo ningún cambio desde la última versión simplemente se hace un enlace al archivo anterior
  • Este concepto se conoce como hacer una foto instantáea de tu proyecto snapshots.
https://git-scm.com/book/en/v2/book/01-introduction/images/snapshots.png
  • Esta es una importante diferencia con otros sistemas de gestión de versiones tipo Subversion que almacena los cambios de los fichero del proyecto en cada versión del mismo y no el fichero completo.
https://git-scm.com/book/en/v2/book/01-introduction/images/deltas.png
Git funciona en local.
  • Esto da mucha rapidez en las operaciones y mucha flexibilidad para trabajar.
  • En la mayoría de otros CVS, dependemos de la red y un servidor para poder trabajar
  • Usar git te garantiza que puedes retornar a cualquir versión de tu proyecto en cualquier momento. Esto en mas de una ocasión te generará una sensación de alivio inigualable.

Los tres estados de GIT

  • Cuando trabajamos con git, establecemos un directorio para especificar el conjunto de ficheros que queremos controlar
  • Vamos a pensar que es el proyecto sobre el cual vamos a realizar la gestión de versión
  • Cada fichero de ese proyecto va a tener uno de tres estados posibles (En lo que se refiere a su control con git)
  • Confirmado es un estado de un fichero que ya ha sido subido a nuestro repositorio o bien que acabamos de clonar de él
  • Modificado cuando un fichero es modificado en local pasa a este estado
  • Preparado Es un fichero modificado y preparado para ser subido a un repositorio


Icon key points.gif

Puntos clave

Estado de cada fichero de un proyecto de git
Confirmado
Fichero réplica de lo que está en el repositorio y no ha sido modificado en local
Modificado
Fichero modificado en local
Preparado
Fichero modificado en local y preparado para subir al repositorio

Navegación entre los estados

NavegacionEstadosGit.png

Instalando git

desde el repositorio

sudo apt-get install git

Actulizando git
  • Desde el repositorio de git
git clone git://git.kernel.org/pub/scm/git/git.git

Configurando git

  • Ver opciones de configuracion
git config 
  • Ficheros de configuracion:
  1. Para todos los usuarios del sistema y todos sus repositorios /etc/gitconfig
  2. Para el usuario actualmente conectado en local $HOME/.config/git/config
  3. Para el repositorio actual ./.git/config
Configurando usuarios
nombre
git config --global user.name Manuel
Direccion de correo
git config --global user.mail ManuelRomeroMiguel@gmail.com
Editor
git config --global core.editor vim
Ver el valor de parámetros configurados
git config --list
Ver un valor concreto
git config <palabre>
git config user.name
Obtener ayuda
git help <palabre>

Iniciar el trabajo con git

Iniciar el proyecto con git
  • En el directorio a gestionar
git init
  • Ahora existe un directorio llamado .git donde está el repositorio local

Creando un repositorio de un proyecto

En el
Ver configuracion

Instalado zsh

Idioma no válido.

Necesita especificar un idioma como esto: <source lang="html4strict">...</source>

lenguajes soportados para sintaxis remarcada:

4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


#sudo apt-get install zsh
.......

The following extra packages will be installed:
  zsh-common
Suggested packages:
  zsh-doc
The following NEW packages will be installed:
  zsh zsh-common

Es un sistema desarrollado por Torwal Linux (ver aquí su historia).