PDF de programación - Introducción a git

Imágen de pdf Introducción a git

Introducción a gitgráfica de visualizaciones

Publicado el 22 de Octubre del 2018
861 visualizaciones desde el 22 de Octubre del 2018
1,2 MB
47 paginas
Creado hace 7a (27/09/2016)
Table of Contents

Introduction
Licencia
El problema
La solución
Introducción
Instalación
Configuración inicial
Git básico

Ignorando archivos
Revirtiendo cambios
Remover y mover archivos
Tagging

Ramificaciones
Repositorios remotos

Creando un repositorio en github
Clonando repositorios
Enviando cambios al repositorio remoto
Obteniendo cambios del repositorio remoto

1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.8.1
1.8.2
1.8.3
1.8.4
1.9
1.10
1.10.1
1.10.2
1.10.3
1.10.4

2

Introduction

Comunidad de Software y Hardware Libre

Introducción a git

El presente documento es una guía de introducción a git. Se comparte de forma publica con
el objetivo de extender su alcance a toda persona que desee colaborar ya sea corrigiendo,
agregando nuevo contenido o bien compartiendo el presente con sus amigos, comunidades,
etc.

Desde la Comunidad de Software y Hardware Libre de la Universidad de El Salvador
FMOcc, creemos que el conocimiento debe estar al alcance de todos y todas y no debe ser
de ninguna forma limitado a pocas personas.

No hay aporte que no valga, todo aporte, por pequeño que sea es bienvenido en la
comunidad.

Puedes contribuir con la comunidad ya sea compartiendo código, material didáctico,
difundiendo el Software y hardware libre, difundiendo la comunidad, etc.

Si deseas colaborar has un fork del proyecto en
https://github.com/csluesocc/introduccionGit, edita, agrega nuevo contenido y has un pull
request a este proyecto.

3

Licencia

Carlos Cárcamo, 2015

Queda a disposición de toda persona interesada en expandir el conocimiento con sus
iguales. Copiar, editar y distribuir esta permitido, siempre y cuando se respete los términos
de licencia abajo mencionados.

Quien desee contribuir a este documento, esta en la libertad de hacerlo, por lo cual este
documento sera publicado en un repositorio público en github en el siguiente enlace:
https://github.com/csluesocc/introduccionGit, desde donde podrá ser editado y
posteriormente publicado. En el momento que desees colaborar, por favor has un fork del
repositorio, has las respectivas observaciones y/o ediciones al documento y agrega tu
nombre a la lista de colaboradores a continuación:

COLABORADORES:

AgusRumayor

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-
CompartirIgual 4.0 Internacional. Puede copiar, distribuir y realizar obras derivadas del texto
original siempre y cuando se haga referencia al autor y no se persiga una finalidad
comercial.

4

El problema

EL PROBLEMA

SISTEMAS DE CONTROL DE VERSIONES

Los sistemas de control de versiones son aquellos que se encargan de registrar los cambios
realizados sobre un archivo o un conjunto de archivos a lo largo del tiempo, con el objetivo
de mantener un control sistemático permitiendo así en un futuro recuperar versiones
especificas del o los archivos modificados.

Es muy común encontrarse con la situación donde se crea un archivo y luego se modifica
perdiendo los cambios hechos antes de la ultima actualización; hay una forma de evitar el
problema anterior y es haciendo una copia local, renombrarla y hacer los cambios en el
nuevo archivo manteniendo la integridad del archivo original, pero, ¿que pasa si se han
hecho 5 cambios bastante significativos al archivo? Habría que crear 5 copias diferentes ¿y
si trabajo en equipo y cada persona modifica una parte del archivo?, esta situación se
vuelve complicada y poco eficiente, la imagen a continuación muestra esta situación:

¿Y si no solo es un simple archivo sino un proyecto grande con diferentes módulos y varias
personas trabajando sobre este?

El problema de tener este tipo de control, poco eficiente, radica en que puede causar serios
conflictos debido a que cada usuario debe entregar sus modificaciones a los demás y
viceversa y cada uno de estos debe ordenar sus archivos, teniendo cuidado de no
sobrescribir algún archivo o directorio, y ¿que pasa si por error mi disco duro colapsa y no
tuve tiempo de entregar mis últimas modificaciones?, tengo que volver a hacer los cambios!
o si la persona que lleva control del sistema pierde la información... que triste situación,
cuantas copias deberé crear, cuanto tiempo invertiré copiando, pegando, renombrando, etc.

5

El problema

6

La solución

LA SOLUCIÓN

LOS SISTEMAS DE CONTROL DE VERSIONES
AL RESCATE

La penosa situación anterior llevo a la necesidad de crear un sistema capaz de realizar las
tareas anteriores de forma ordenada, concisa y sobre todo eficiente, pudiendo centralizar el
trabajo en un lugar especifico, un servidor, a este tipo de sistemas se les llama sistemas de
control de versiones centralizados (como apache subversión) con esto se tiene un lugar
donde mantener las versiones, pero aun existe un problema, ¿Y si el servidor colapsa? Se
pierde todo!. Tampoco suena muy eficiente, entonces que necesitamos? La respuesta es
sencilla, necesitamos un sistema de control de versiones distribuidos. En los sistemas de
control de versiones distribuidos (ejemplos: Git, Mercurial, entre otros), los clientes no sólo
descargan la última versión de los archivos, la replican completamente en sus
computadoras. Así, si un servidor colapsa, cualquiera de los repositorios de los clientes
puede copiarse en el servidor para restaurarlo (es lo mismo que tener una copia de
seguridad completa de los datos).

Ahora en día con servicios como los de github, bitbucket, entre otros, mantener un proyecto
es más fácil y nos ahorramos la necesidad de tener un servidor dedicado para mantener el
proyecto al alcance de todos, además los usuarios pueden acceder a los repositorios desde
cualquier lugar con una conexión a internet.

Lo anterior fue una breve reseña de lo que son los sistemas de control de versiones y del
porque deberíamos usarlos.

7

Introducción

INTRODUCCIÓN

A continuación nos centraremos en utilizar y poner en practica uno de los sistemas de
control de versiones (SVC por sus siglas en ingles) más utilizados en el mundo, hablamos
de git, creado por Linus Torvalds el mismo creador del Kernel Linux y por la comunidad
que trabaja en el mismo kernel.

En el año 2005 nació git como una necesidad de los desarrolladores del kernel Linux de
tener su propio sistema de control de versiones, después de varios años usando BitKeeper
(un software propietario) el cual dejo de ser una opción viable para la comunidad de
desarrolladores.

Git es distribuido bajo licencia GNU GPL v2 y esta disponible para múltiples sistemas
operativos entre ellos, y sin duda alguna, GNU/Linux.

El presente documento esta hecho a manera de tutorial con el objetivo que sea fácil y
entretenido utilizar git.

Este tutorial no pretende ser un documento extenso sobre git, más bien es una breve
introducción al mismo y sus comandos más usados, aunque con el tiempo pueda que este
documento crezca, todo depende de quienes colaboren.

Para más información sobre git visitar la documentación oficial en http://git-scm.com/doc.

8

Instalación

INSTALACIÓN

Para poder seguir este tutorial, lo único que necesitarás será una distro GNU/Linux, una
terminal para ejecutar un par de comandos y sobre todo muchas granas de aprender e
investigar.

INSTALANDO GIT EN TU DISTRO FAVORITA

La forma más sencilla de instalar git en nuestro ordenador es utilizado el gestor de paquetes
de nuestra distro favorita e instalar git desde sus repositorios, git seguramente esta en los
repositorios de las distros más conocidas por lo que vamos a proceder de la siguiente
manera:

Fedora, CentOS y derivados:

# yum install git-core

o bien con:

$ sudo yum install git-core

nota: si “git-core” no existe en los repositorios utilizar “git” en su lugar.

Debian y derivados:

# apt-get install git

o

$ sudo apt-get install git

Arch linux y derivados:

# pacman -S git

9

Instalación

o también con:

$ sudo pacman -S git

Si tu distro no esta entre las mencionadas, visita la documentación de tu distro,
seguramente encontraras los pasos necesarios para instalar git en tu sistema favorito.

La opción alternativa a usar el gestor de paquetes es compilar el código fuente nosotros
mismos. Si quieres compilar el código fuente puedes buscar en el siguiente enlace los
pasos a seguir: http://git-scm.com/book/en/Getting-Started-Installing-Git.

10

Configuración inicial

CONFIGURACIÓN INICIAL

Lo primero que debemos hacer, luego de instalar git, es configurar nuestro nombre y email
con el que git nos identificará cada vez que trabajemos sobre nuestros proyectos.

Git permite configurar varias opciones y solo es necesario hacerlo una vez, por el momento
nos centraremos en lo básico, como siempre, recomendamos indagar un poco en la
documentación oficial para más detalles.

El comando que usaremos para configurar nuestro entorno git sera: git config, que nos
permiten definir variables de configuración.

Comencemos por decir a git quienes somos y cual es nuestro email, con esto git y demás
usuarios sabrán quien ha hecho cambios (commits).

$ git config --global user.name "Mr. Floyd"
$ git config --global user.email [email protected]

con --global estas diciendo a git que use esta información en todo lo que hagas en el
sistema.

Puedes ver tu configuración actual ejecutando:

$ git config --list
user.name= Mr. Floyd
[email protected]

puedes además preguntar a git por parámetros específicos definidos en tu configuración:

$ git config user.email
[email protected]

Si necesitas una lista completa de los comandos usados en git puedes ejecutar en tu
terminal:

$ git help

o bien consultar por un comando específico con git help «comando»:

$ git help config

11

Configuración inicial

o como usualmente lo hacemos en GNU/Linux usando 'man'

$ man git-config

12

Git básico

GIT BÁSICO

Ya hemos configurado nuestro entorno git, ahora es hora de comenzar a trabajar con el.

Vamos a comenzar creando un directorio en el lugar que queramos y le diremos a git que
tome el control de todo lo que en el hagamos:

$ mkdir practica-git && cd practica-git
$ git init
Initialize
  • Links de descarga
http://lwp-l.com/pdf13997

Comentarios de: Introducción a git (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad