Usuario:ManuelRomero/Git
Contenido
Qué es Git
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. |
- Página oficial https://git-scm.com/
- 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
- 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
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
|
Navegación entre los estados
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:
- Para todos los usuarios del sistema y todos sus repositorios /etc/gitconfig
- Para el usuario actualmente conectado en local $HOME/.config/git/config
- 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
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
- 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).