Diferencia entre revisiones de «Usuario:ManuelRomero/Git»

De WikiEducator
Saltar a: navegación, buscar
(Qué es Git)
Línea 99: Línea 99:
 
;Editor
 
;Editor
 
  git config --global core.editor vim
 
  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 trabajo con git===
 
;Iniciar el proyecto con git
 
;Iniciar el proyecto con git
Línea 105: Línea 112:
 
*Ahora existe un directorio llamado .git donde está el repositorio local
 
*Ahora existe un directorio llamado .git donde está el repositorio local
  
 
+
===Creando un repositorio de un proyecto===
 +
;En el
  
 
:Ver configuracion
 
:Ver configuracion

Revisión de 23:37 6 nov 2015

Qué es Git

LogoGit.png


Icon define.gif

Definición

Es un software para gestionar el versionado de un fichero o conjunto de ficheros. Cuelgan de un directorio concreto y solemos referirnos a ellos como un proyecto.


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).