latex y git: ¿cómo controlar archivos de latex eficientemente?

114

Upload: emateucr

Post on 06-Jul-2015

762 views

Category:

Education


5 download

DESCRIPTION

En el desarrollo en documentos de LaTeX (tesis, libros, artículos, etc.), el manejo eficiente de los cambios es una tarea vital. Es una tarea aún más importante si se necesita compartir esos archivos con terceros. Git es un sistema controlador de versiones que fue concebido para solucionar estos problemas. Esta charla es una introducción al sistema Git en archivos LaTeX. Este permite opciones interesantes como la edición en paralelo de archivos y la facilidad para compartir documentos. -- Coloquios Escuela Matemática UCR.

TRANSCRIPT

Page 1: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

LATEX y Git¾Cómo controlar documentos en LATEX e�cientemente?

Maikol Solís

Page 2: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

LATEX

LATEX es un excelente sistema para crear textosmatemáticos.

Si no sabe como usarlo, pregunte, busque y aprenda porquelo va a necesitar tarde o temprano.

Maikol Solís LATEX y Git 2 / 51

Page 3: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Sección 1

¾Qué es Git?

Maikol Solís LATEX y Git 3 / 51

Page 4: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Historia

Git fue creado por Linus Torvals en 2005.

La idea era poder controlar los cambios en el kernel Linux.

Las características del nuevo sistema eran:I Velocidad.I Diseño simple.I Desarrollo no lineal (trabajos en paralelo).I Fácil colaboración.I entre otros.

Maikol Solís LATEX y Git 4 / 51

Page 5: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

¾Quién usa Git?

y muchísimos proyectos más...

Maikol Solís LATEX y Git 5 / 51

Page 6: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Instalación

Linux: Ubuntu, Debian, OpenSuse, Fedora, ...

MacOS: brew install git.

Windows:

Es posible pero desconozco como funciona.

Maikol Solís LATEX y Git 6 / 51

Page 7: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Instalación

Linux: Ubuntu, Debian, OpenSuse, Fedora, ...

MacOS: brew install git.

Windows:

Es posible pero desconozco como funciona.

Maikol Solís LATEX y Git 6 / 51

Page 8: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Instalación

Linux: Ubuntu, Debian, OpenSuse, Fedora, ...

MacOS: brew install git.

Windows:

Es posible pero desconozco como funciona.

Maikol Solís LATEX y Git 6 / 51

Page 9: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Instalación

Linux: Ubuntu, Debian, OpenSuse, Fedora, ...

MacOS: brew install git.

Windows: Es posible pero desconozco como funciona.

Maikol Solís LATEX y Git 6 / 51

Page 10: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Sección 2

Nombres anticipados

Maikol Solís LATEX y Git 7 / 51

Page 11: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

El problema

Se empieza un proyecto nuevo (artículo, tesis de maestría, lista de

ejercicios, reporte de proyecto, etc).

¾Cómo guardamos los cambios importantes?

Una forma es ir haciendo copias de seguridad.

proyecto.tex

proyecto.2013_08_01.tex

proyecto.2013_08_03.tex

...

Esto podría funcionar bien...

Maikol Solís LATEX y Git 8 / 51

Page 12: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

El problema

Se empieza un proyecto nuevo (artículo, tesis de maestría, lista de

ejercicios, reporte de proyecto, etc).

¾Cómo guardamos los cambios importantes?

Una forma es ir haciendo copias de seguridad.

proyecto.tex

proyecto.2013_08_01.tex

proyecto.2013_08_03.tex

...

Esto podría funcionar bien...

Maikol Solís LATEX y Git 8 / 51

Page 13: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

El problema

Se empieza un proyecto nuevo (artículo, tesis de maestría, lista de

ejercicios, reporte de proyecto, etc).

¾Cómo guardamos los cambios importantes?

Una forma es ir haciendo copias de seguridad.

proyecto.tex

proyecto.2013_08_01.tex

proyecto.2013_08_03.tex

...

Esto podría funcionar bien...

Maikol Solís LATEX y Git 8 / 51

Page 14: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

El problema

¾O tal vez no?

Se empieza un proyecto nuevo (artículo, tesis de maestría, lista de

ejercicios, reporte de proyecto, etc).

¾Cómo guardamos los cambios importantes?

Una forma es ir haciendo copias de seguridad.

proyecto.tex

proyecto.2013_08_01.tex

proyecto.2013_08_03.tex

...

Esto podría funcionar bien...

Maikol Solís LATEX y Git 8 / 51

Page 15: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

�Final� (¾?)

Maikol Solís LATEX y Git 9 / 51

Page 16: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Antes: Mi tesis de Maestría

Maikol Solís LATEX y Git 10 / 51

Page 17: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Entonces, ¾Cómo funciona Git?

Conserva una única versión de cada archivo.

Evita la repetición de archivos con diferentes nombres.

Toma una �foto� de los cambios periódicamente.

Los cambios se guardan con el comando �git commit�.

Esas �fotos� quedan en una bitácora de cambios.

Este registro es una memoria de largo plazo.

Maikol Solís LATEX y Git 11 / 51

Page 18: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Entonces, ¾Cómo funciona Git?

Conserva una única versión de cada archivo.

Evita la repetición de archivos con diferentes nombres.

Toma una �foto� de los cambios periódicamente.

Los cambios se guardan con el comando �git commit�.

Esas �fotos� quedan en una bitácora de cambios.

Este registro es una memoria de largo plazo.

Maikol Solís LATEX y Git 11 / 51

Page 19: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Entonces, ¾Cómo funciona Git?

Conserva una única versión de cada archivo.

Evita la repetición de archivos con diferentes nombres.

Toma una �foto� de los cambios periódicamente.

Los cambios se guardan con el comando �git commit�.

Esas �fotos� quedan en una bitácora de cambios.

Este registro es una memoria de largo plazo.

Maikol Solís LATEX y Git 11 / 51

Page 20: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Entonces, ¾Cómo funciona Git?

Archivoproyecto.tex

Registro de cambios

Author: Fulano <[email protected]>

Date: Sat Mar 15 16:40:33 2008 -0700

agregué un nuevo teorema

Author: Sutano <[email protected]>

Date: Sat Mar 15 10:31:28 2008 -0700

primera modficación

Maikol Solís LATEX y Git 12 / 51

Page 21: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Después: Artículo controlado

Maikol Solís LATEX y Git 13 / 51

Page 22: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Sección 3

¾Cómo empiezo?

Maikol Solís LATEX y Git 14 / 51

Page 23: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

El inicio � git init

Lo primero es crear un directorio compatible con Git.

$ cd /directorio/del/proyecto

$ git init

Initialized empty Git repository

in /directorio/del/proyecto/.git/

Recuerde

git init Inicializa cualquier directorio como un directorio Git.

½Perfecto! Ya podemos empezar a trabajar.

Maikol Solís LATEX y Git 15 / 51

Page 24: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

El inicio � git init

Lo primero es crear un directorio compatible con Git.

$ cd /directorio/del/proyecto

$ git init

Initialized empty Git repository

in /directorio/del/proyecto/.git/

Recuerde

git init Inicializa cualquier directorio como un directorio Git.

½Perfecto! Ya podemos empezar a trabajar.

Maikol Solís LATEX y Git 15 / 51

Page 25: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

El inicio � git init

Lo primero es crear un directorio compatible con Git.

$ cd /directorio/del/proyecto

$ git init

Initialized empty Git repository

in /directorio/del/proyecto/.git/

Recuerde

git init Inicializa cualquier directorio como un directorio Git.

½Perfecto! Ya podemos empezar a trabajar.

Maikol Solís LATEX y Git 15 / 51

Page 26: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Aclaración: Dos formas de usar git.

Interfaz grá�ca: Git-Cola, SmartGit, etc.

Maikol Solís LATEX y Git 16 / 51

Page 27: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Aclaración: Dos formas de usar git.

Consola.

Maikol Solís LATEX y Git 16 / 51

Page 28: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Estado de las cosas � git status

$ git status

# On branch master

#

# Initial commit

#

# Untracked files:

# (use "git add <file>..." to include in what will

#be committed)

#

# proyecto.tex

nothing added to commit but untracked files present

(use "git add" to track)

$ git status -s

?? proyecto.tex

Maikol Solís LATEX y Git 17 / 51

Page 29: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Estado de las cosas � git status

$ git status

# On branch master

#

# Initial commit

#

# Untracked files:

# (use "git add <file>..." to include in what will

#be committed)

#

# proyecto.tex

nothing added to commit but untracked files present

(use "git add" to track)

$ git status -s

?? proyecto.tex

Maikol Solís LATEX y Git 17 / 51

Page 30: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Estado de las cosas � git status

$ git status

# On branch master

#

# Initial commit

#

# Untracked files:

# (use "git add <file>..." to include in what will

#be committed)

#

# proyecto.tex

nothing added to commit but untracked files present

(use "git add" to track)

$ git status -s

?? proyecto.tex

Maikol Solís LATEX y Git 17 / 51

Page 31: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Agregando archivos � git add

Se tienen que de�nir cuales archivos quiero controlar.

Estos archivos se agregan a una zona temporal (staging).

$ git add proyecto.tex

$ git status -s

A proyecto.tex

Maikol Solís LATEX y Git 18 / 51

Page 32: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Agregando archivos � git add

Se tienen que de�nir cuales archivos quiero controlar.

Estos archivos se agregan a una zona temporal (staging).

$ git add proyecto.tex

$ git status -s

A proyecto.tex

Maikol Solís LATEX y Git 18 / 51

Page 33: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Manos a la obra

Comencemos a escribir nuestro documento...

\documentclass{article}

\title{Mi nuevo proyecto}

\author{Profesor X}

\begin{document}

\maketitle

Este será un gran proyecto.

\end{document}

Lo primero que notamos es

$ git status -s

AM proyecto.tex

Maikol Solís LATEX y Git 19 / 51

Page 34: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Manos a la obra

Comencemos a escribir nuestro documento...

\documentclass{article}

\title{Mi nuevo proyecto}

\author{Profesor X}

\begin{document}

\maketitle

Este será un gran proyecto.

\end{document}

Lo primero que notamos es

$ git status -s

AM proyecto.tex

Maikol Solís LATEX y Git 19 / 51

Page 35: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Viendo las diferencias � git diff

$ git diff

diff --git a/proyecto.tex b/proyecto.tex

index e69de29..82e2f40 100644

--- a/proyecto.tex

+++ b/proyecto.tex

@@ -0,0 +1,7 @@

+\documentclass{article}

+\title{Mi nuevo proyecto}

+\author{Profesor X}

+\begin{document}

+\maketitle

+Este será un gran proyecto.

+\end{document}

+ Línea agregada.

- Línea eliminada.

Maikol Solís LATEX y Git 20 / 51

Page 36: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Viendo las diferencias � git diff

$ git diff

diff --git a/proyecto.tex b/proyecto.tex

index e69de29..82e2f40 100644

--- a/proyecto.tex

+++ b/proyecto.tex

@@ -0,0 +1,7 @@

+\documentclass{article}

+\title{Mi nuevo proyecto}

+\author{Profesor X}

+\begin{document}

+\maketitle

+Este será un gran proyecto.

+\end{document}

+ Línea agregada.

- Línea eliminada.

Maikol Solís LATEX y Git 20 / 51

Page 37: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Viendo las diferencias � git diff

$ git diff

diff --git a/proyecto.tex b/proyecto.tex

index e69de29..82e2f40 100644

--- a/proyecto.tex

+++ b/proyecto.tex

@@ -0,0 +1,7 @@

+\documentclass{article}

+\title{Mi nuevo proyecto}

+\author{Profesor X}

+\begin{document}

+\maketitle

+Este será un gran proyecto.

+\end{document}

+ Línea agregada.

- Línea eliminada.

Maikol Solís LATEX y Git 20 / 51

Page 38: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Guardando los cambios � git commit

$ git commit proyecto.tex

Iniciando mi nuevo proyecto �-> Mensaje opcional de los cambios.

# Please enter the commit message for your changes. Lines starting

# with '#' will be ignored, and an empty message aborts the commit.

# Explicit paths specified without -i nor -o; assuming �only paths...

# On branch master

# Changes to be committed:

# (use "git reset HEAD <file>..." to unstage)

#

# modified: proyecto.tex

#

# Untracked files:

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

#

# proyecto.aux

# proyecto.log

# proyecto.pdf

Maikol Solís LATEX y Git 21 / 51

Page 39: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Guardando los cambios � git commit

$ git commit proyecto.texIniciando mi nuevo proyecto �-> Mensaje opcional de los cambios.

# Please enter the commit message for your changes. Lines starting

# with '#' will be ignored, and an empty message aborts the commit.

# Explicit paths specified without -i nor -o; assuming �only paths...

# On branch master

# Changes to be committed:

# (use "git reset HEAD <file>..." to unstage)

#

# modified: proyecto.tex

#

# Untracked files:

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

#

# proyecto.aux

# proyecto.log

# proyecto.pdf

Maikol Solís LATEX y Git 21 / 51

Page 40: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Enjuage y repita

Se modi�ca los archivos en la computadora.

git add Agrega eso archivos a una zona temporal

git status Muestra el estado de los archivos modi�cados.

git di� Muestra las diferencias entre lo que está en la zona temporal y

lo que está en el directorio de trabajo.

git commit Guarda todos los cambios de la zona temporal al registro

de cambios.

Maikol Solís LATEX y Git 22 / 51

Page 41: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Enjuage y repita

Se modi�ca los archivos en la computadora.

git add Agrega eso archivos a una zona temporal

git status Muestra el estado de los archivos modi�cados.

git di� Muestra las diferencias entre lo que está en la zona temporal y

lo que está en el directorio de trabajo.

git commit Guarda todos los cambios de la zona temporal al registro

de cambios.

Maikol Solís LATEX y Git 22 / 51

Page 42: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Enjuage y repita

Se modi�ca los archivos en la computadora.

git add Agrega eso archivos a una zona temporal

git status Muestra el estado de los archivos modi�cados.

git di� Muestra las diferencias entre lo que está en la zona temporal y

lo que está en el directorio de trabajo.

git commit Guarda todos los cambios de la zona temporal al registro

de cambios.

Maikol Solís LATEX y Git 22 / 51

Page 43: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Enjuage y repita

Se modi�ca los archivos en la computadora.

git add Agrega eso archivos a una zona temporal

git status Muestra el estado de los archivos modi�cados.

git di� Muestra las diferencias entre lo que está en la zona temporal y

lo que está en el directorio de trabajo.

git commit Guarda todos los cambios de la zona temporal al registro

de cambios.

Maikol Solís LATEX y Git 22 / 51

Page 44: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Enjuage y repita

Se modi�ca los archivos en la computadora.

git add Agrega eso archivos a una zona temporal

git status Muestra el estado de los archivos modi�cados.

git di� Muestra las diferencias entre lo que está en la zona temporal y

lo que está en el directorio de trabajo.

git commit Guarda todos los cambios de la zona temporal al registro

de cambios.

Maikol Solís LATEX y Git 22 / 51

Page 45: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Vamos por partes � hunks

Hagamos algunos cambios a nuestro documento.

\documentclass[spanish]{article}

%% Paquetes

\usepackage{amsthm}

\usepackage{amsmath}

\usepackage{amssymb}

%% Tipos de teorema

\theoremstyle{plain}

\newtheorem{teorema}{Teorema}

%% Titulo

\title{Mi nuevo proyecto}

%% Autor

\author{Profesor X}

%% Inicio

\begin{document}

\maketitle

Este ser\'a un gran proyecto.

\begin{teorema}

Para todo $\theta\in\mathbb{R}$, $\sin^2\theta+\cos^2\theta=1$.

\end{teorema}

\end{document}

Maikol Solís LATEX y Git 23 / 51

Page 46: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Vamos por partes � hunks

diff �git a/proyecto.tex b/proyecto.tex

index 9ba2543..1b8308b 100644

�- a/proyecto.tex

+++ b/proyecto.tex

@@ -1,5 +1,10 @@

\documentclass[spanish]{article}

+%% Paquetes

+\usepackage{amsthm}

+\usepackage{amsmath}

+\usepackage{amssymb}

+

%% Tipos de teorema

\theoremstyle{plain}

\newtheorem{teorema}{Teorema}

@@ -16,4 +21,8 @@

Este ser\'a un gran proyecto.

+\begin{teorema}

+ Para todo $\theta\in\mathbb{R}$,

+ $\sin^2\theta+\cos^2\theta=1$.

+\end{teorema}

+

Tarea

git commit -p Para guardar los cambios selectivamente.

Maikol Solís LATEX y Git 24 / 51

Page 47: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Vamos por partes � hunks

diff �git a/proyecto.tex b/proyecto.tex

index 9ba2543..1b8308b 100644

�- a/proyecto.tex

+++ b/proyecto.tex

@@ -1,5 +1,10 @@

\documentclass[spanish]{article}

+%% Paquetes

+\usepackage{amsthm}

+\usepackage{amsmath}

+\usepackage{amssymb}

+

%% Tipos de teorema

\theoremstyle{plain}

\newtheorem{teorema}{Teorema}

@@ -16,4 +21,8 @@

Este ser\'a un gran proyecto.

+\begin{teorema}

+ Para todo $\theta\in\mathbb{R}$,

+ $\sin^2\theta+\cos^2\theta=1$.

+\end{teorema}

+

Tarea

git commit -p Para guardar los cambios selectivamente.

Maikol Solís LATEX y Git 24 / 51

Page 48: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Recordando � git log

$ git log

commit 0f82ed2d76d1cfebf1c3bc606fbb7dc4bbf7983d

Author: Maikol Solís <[email protected]>

Date: Fri Jul 26 10:39:26 2013 +0200

Nuevo teorema sobre trigonometría.

commit 902deb5716fe1a609ecb5ea76a61ec8938ebb382

Author: Maikol Solís <[email protected]>

Date: Fri Jul 26 10:38:41 2013 +0200

Agregando los paquetes básicos de matemática

Maikol Solís LATEX y Git 25 / 51

Page 49: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Recordando � git log

$ git log

commit 0f82ed2d76d1cfebf1c3bc606fbb7dc4bbf7983d

Author: Maikol Solís <[email protected]>

Date: Fri Jul 26 10:39:26 2013 +0200

Nuevo teorema sobre trigonometría.

commit 902deb5716fe1a609ecb5ea76a61ec8938ebb382

Author: Maikol Solís <[email protected]>

Date: Fri Jul 26 10:38:41 2013 +0200

Agregando los paquetes básicos de matemática

Maikol Solís LATEX y Git 25 / 51

Page 50: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Recordando � git log

$ git log

commit 0f82ed2d76d1cfebf1c3bc606fbb7dc4bbf7983d

Author: Maikol Solís <[email protected]>

Date: Fri Jul 26 10:39:26 2013 +0200

Nuevo teorema sobre trigonometría.

commit 902deb5716fe1a609ecb5ea76a61ec8938ebb382

Author: Maikol Solís <[email protected]>

Date: Fri Jul 26 10:38:41 2013 +0200

Agregando los paquetes básicos de matemática

Maikol Solís LATEX y Git 25 / 51

Page 51: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Recordando � git log

$ git log

commit 0f82ed2d76d1cfebf1c3bc606fbb7dc4bbf7983d

Author: Maikol Solís <[email protected]>

Date: Fri Jul 26 10:39:26 2013 +0200

Nuevo teorema sobre trigonometría.

commit 902deb5716fe1a609ecb5ea76a61ec8938ebb382

Author: Maikol Solís <[email protected]>

Date: Fri Jul 26 10:38:41 2013 +0200

Agregando los paquetes básicos de matemática

Maikol Solís LATEX y Git 25 / 51

Page 52: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Recordando � git log

$ git log

commit 0f82ed2d76d1cfebf1c3bc606fbb7dc4bbf7983d

Author: Maikol Solís <[email protected]>

Date: Fri Jul 26 10:39:26 2013 +0200

Nuevo teorema sobre trigonometría.

commit 902deb5716fe1a609ecb5ea76a61ec8938ebb382

Author: Maikol Solís <[email protected]>

Date: Fri Jul 26 10:38:41 2013 +0200

Agregando los paquetes básicos de matemática

Maikol Solís LATEX y Git 25 / 51

Page 53: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Recordando � git log

$ git log

commit 0f82ed2d76d1cfebf1c3bc606fbb7dc4bbf7983d

Author: Maikol Solís <[email protected]>

Date: Fri Jul 26 10:39:26 2013 +0200

Nuevo teorema sobre trigonometría.

commit 902deb5716fe1a609ecb5ea76a61ec8938ebb382

Author: Maikol Solís <[email protected]>

Date: Fri Jul 26 10:38:41 2013 +0200

Agregando los paquetes básicos de matemática

Maikol Solís LATEX y Git 25 / 51

Page 54: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Sección 4

No se ande por las ramas

Maikol Solís LATEX y Git 26 / 51

Page 55: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Trabajando en paralelo

¾Han notado algo raro en el mensaje de git status?

# On branch master

Rami�car nuestro trabajo en diferentes proyectos o tareas

Borradores.

Nuevos elementos (ejemplos, ejercicios, simulaciones, etc.)

Ideas locas.

git branch nombre-rama copia la última versión de la rama actual a una

nueva rama llamada nombre-rama.

Maikol Solís LATEX y Git 27 / 51

Page 56: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Trabajando en paralelo

¾Han notado algo raro en el mensaje de git status?

# On branch master

Rami�car nuestro trabajo en diferentes proyectos o tareas

Borradores.

Nuevos elementos (ejemplos, ejercicios, simulaciones, etc.)

Ideas locas.

git branch nombre-rama copia la última versión de la rama actual a una

nueva rama llamada nombre-rama.

Maikol Solís LATEX y Git 27 / 51

Page 57: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Trabajando en paralelo

¾Han notado algo raro en el mensaje de git status?

# On branch master

Rami�car nuestro trabajo en diferentes proyectos o tareas

Borradores.

Nuevos elementos (ejemplos, ejercicios, simulaciones, etc.)

Ideas locas.

git branch nombre-rama copia la última versión de la rama actual a una

nueva rama llamada nombre-rama.

Maikol Solís LATEX y Git 27 / 51

Page 58: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Creando ramas � git branch

Para los que hacen tesis

Una rama llamada �tutor� les va a salvar la vida.

$ git branch tutor

$ git branch nuevo-teorema

$ git branch

* master

nuevo-teorema

tutor

Maikol Solís LATEX y Git 28 / 51

Page 59: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Creando ramas � git branch

Para los que hacen tesis

Una rama llamada �tutor� les va a salvar la vida.

$ git branch tutor

$ git branch nuevo-teorema

$ git branch

* master

nuevo-teorema

tutor

Maikol Solís LATEX y Git 28 / 51

Page 60: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Creando ramas � git branch

Para los que hacen tesis

Una rama llamada �tutor� les va a salvar la vida.

$ git branch tutor

$ git branch nuevo-teorema

$ git branch

* master

nuevo-teorema

tutor

Maikol Solís LATEX y Git 28 / 51

Page 61: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Creando ramas � git branch

Para los que hacen tesis

Una rama llamada �tutor� les va a salvar la vida.

$ git branch tutor

$ git branch nuevo-teorema

$ git branch

* master

nuevo-teorema

tutor

Maikol Solís LATEX y Git 28 / 51

Page 62: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

De rama en rama � git checkout

$ git checkout tutor

Switched to branch 'tutor'

$ git branch

master

nuevo-teorema

* tutor

Todos los archivos serán modi�cados en la rama tutor.

Si cambiamos a otra rama (master por ejemplo), todos los cambios se

revertirán hasta el último estado de la otra rama.

½Ahora si ya podemos trabajar en paralelo!

Maikol Solís LATEX y Git 29 / 51

Page 63: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

De rama en rama � git checkout

$ git checkout tutor

Switched to branch 'tutor'

$ git branch

master

nuevo-teorema

* tutor

Todos los archivos serán modi�cados en la rama tutor.

Si cambiamos a otra rama (master por ejemplo), todos los cambios se

revertirán hasta el último estado de la otra rama.

½Ahora si ya podemos trabajar en paralelo!

Maikol Solís LATEX y Git 29 / 51

Page 64: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

De rama en rama � git checkout

$ git checkout tutor

Switched to branch 'tutor'

$ git branch

master

nuevo-teorema

* tutor

Todos los archivos serán modi�cados en la rama tutor.

Si cambiamos a otra rama (master por ejemplo), todos los cambios se

revertirán hasta el último estado de la otra rama.

½Ahora si ya podemos trabajar en paralelo!

Maikol Solís LATEX y Git 29 / 51

Page 65: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

De rama en rama � git checkout

$ git checkout tutor

Switched to branch 'tutor'

$ git branch

master

nuevo-teorema

* tutor

Todos los archivos serán modi�cados en la rama tutor.

Si cambiamos a otra rama (master por ejemplo), todos los cambios se

revertirán hasta el último estado de la otra rama.

½Ahora si ya podemos trabajar en paralelo!

Maikol Solís LATEX y Git 29 / 51

Page 66: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Modi�camos el archivo en la rama tutor. Veamos el resultado:

$ git diff

...

\begin{document}

\maketitle

-Este será un gran proyecto.

+Mi tutor quiere que cambie la introducción.

\begin{teorema}

Para todo $\theta\in\mathbbR$,

$\sin^2\theta+\cos^2\theta=1$.

Maikol Solís LATEX y Git 30 / 51

Page 67: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Modi�camos el archivo en la rama tutor. Veamos el resultado:

$ git diff

...

\begin{document}

\maketitle

-Este será un gran proyecto.

+Mi tutor quiere que cambie la introducción.

\begin{teorema}

Para todo $\theta\in\mathbbR$,

$\sin^2\theta+\cos^2\theta=1$.

Maikol Solís LATEX y Git 30 / 51

Page 68: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Ejecutamos git checkout nuevo-teorema y modi�camos otra vez el

archivo.

$ git diff

...

\begin{teorema}

- Para todo $\theta\in\mathbb{R}$,

- $\sin^2\theta+\cos^2\theta=1$.

+ Para todo $x\in\mathbb{R}$,

+$e^{ix} = \cos x + i\sin x$ donde $i$

+es la unidad imaginaria.

\end{teorema}

\end{document}

Maikol Solís LATEX y Git 31 / 51

Page 69: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Ejecutamos git checkout nuevo-teorema y modi�camos otra vez el

archivo.

$ git diff

...

\begin{teorema}

- Para todo $\theta\in\mathbb{R}$,

- $\sin^2\theta+\cos^2\theta=1$.

+ Para todo $x\in\mathbb{R}$,

+$e^{ix} = \cos x + i\sin x$ donde $i$

+es la unidad imaginaria.

\end{teorema}

\end{document}

Maikol Solís LATEX y Git 31 / 51

Page 70: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Ayuda visual � gitk

$ gitk

Maikol Solís LATEX y Git 32 / 51

Page 71: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Juntando todo � git merge

Queremos incluir los cambios de las ramas nuevo-teorema y tutor

en nuestro documento principal.

1 $ git checkout master

Cambiamos a la rama donde queremos los cambios.

2 $ git merge nuevo-teorema

Fusionamos los cambios de la rama nuevo-teorema.

3 $ git merge tutor

Hacemos lo mismo con la rama tutor.

Maikol Solís LATEX y Git 33 / 51

Page 72: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Juntando todo � git merge

¾Qué hacemos?

1 $ git checkout master

Cambiamos a la rama donde queremos los cambios.

2 $ git merge nuevo-teorema

Fusionamos los cambios de la rama nuevo-teorema.

3 $ git merge tutor

Hacemos lo mismo con la rama tutor.

Maikol Solís LATEX y Git 33 / 51

Page 73: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Juntando todo � git merge

¾Qué hacemos?

1 $ git checkout master

Cambiamos a la rama donde queremos los cambios.

2 $ git merge nuevo-teorema

Fusionamos los cambios de la rama nuevo-teorema.

3 $ git merge tutor

Hacemos lo mismo con la rama tutor.

Maikol Solís LATEX y Git 33 / 51

Page 74: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Juntando todo � git merge

¾Qué hacemos?

1 $ git checkout master

Cambiamos a la rama donde queremos los cambios.

2 $ git merge nuevo-teorema

Fusionamos los cambios de la rama nuevo-teorema.

3 $ git merge tutor

Hacemos lo mismo con la rama tutor.

Maikol Solís LATEX y Git 33 / 51

Page 75: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

¾Lo hice bien?

Maikol Solís LATEX y Git 34 / 51

Page 76: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Resumiendo

git branch Enlista, crea y maneja diferentes ramas de trabajo

git checkout Cambia a una nueva rama de trabajo.

git merge Fusiona una rama de trabajo dentro la rama actual.

Maikol Solís LATEX y Git 35 / 51

Page 77: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Resumiendo

git branch Enlista, crea y maneja diferentes ramas de trabajo

git checkout Cambia a una nueva rama de trabajo.

git merge Fusiona una rama de trabajo dentro la rama actual.

Maikol Solís LATEX y Git 35 / 51

Page 78: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Resumiendo

git branch Enlista, crea y maneja diferentes ramas de trabajo

git checkout Cambia a una nueva rama de trabajo.

git merge Fusiona una rama de trabajo dentro la rama actual.

Maikol Solís LATEX y Git 35 / 51

Page 79: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Sección 5

½Pasame el .tex!

Maikol Solís LATEX y Git 36 / 51

Page 80: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

½Pasame el .tex!

Colaborar con archivos siempre ha sido complicado.I La forma tradicional es usar llave usb, email, etc.I Ahora se puede usar Dropbox, Gdrive, etc.

¾Pero cómo sabemos quién cambió qué?

A veces tenemos muchas versiones del mismo archivo.

proyecto_definitivo.tex

proyecto_definitivo_cambios_Paco.tex

proyecto_definitivo_cambios_Elena.tex

proyecto_definitivo_Final.tex

...

¾Cuál enviamos?

Maikol Solís LATEX y Git 37 / 51

Page 81: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

½Pasame el .tex!

Colaborar con archivos siempre ha sido complicado.I La forma tradicional es usar llave usb, email, etc.I Ahora se puede usar Dropbox, Gdrive, etc.

¾Pero cómo sabemos quién cambió qué?

A veces tenemos muchas versiones del mismo archivo.

proyecto_definitivo.tex

proyecto_definitivo_cambios_Paco.tex

proyecto_definitivo_cambios_Elena.tex

proyecto_definitivo_Final.tex

...

¾Cuál enviamos?

Maikol Solís LATEX y Git 37 / 51

Page 82: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

½Pasame el .tex!

Colaborar con archivos siempre ha sido complicado.I La forma tradicional es usar llave usb, email, etc.I Ahora se puede usar Dropbox, Gdrive, etc.

¾Pero cómo sabemos quién cambió qué?

A veces tenemos muchas versiones del mismo archivo.

proyecto_definitivo.tex

proyecto_definitivo_cambios_Paco.tex

proyecto_definitivo_cambios_Elena.tex

proyecto_definitivo_Final.tex

...

¾Cuál enviamos?

Maikol Solís LATEX y Git 37 / 51

Page 83: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

En las nubes � git remote

Git puede sincronizar nuestros documentos en la nube.

¾Cómo?

$ git remote add mirepo www.servidorgit.com/proyecto.git

# Para enviar todo el repositorio por primera vez

$ git push -u mirepo �all

www.servidorgit.com/proyecto.git

* [new branch] master -> master

* [new branch] nuevo-teorema -> nuevo-teorema

* [new branch] tutor -> tutor

Branch master set up to track remote branch master from origin.

Branch nuevo-teorema set up to track remote branch nuevo-teorema from origin.

Branch tutor set up to track remote branch tutor from origin.

Maikol Solís LATEX y Git 38 / 51

Page 84: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

En las nubes � git remoteGit puede sincronizar nuestros documentos en la nube.

Para eso hay muchos sitios especializados

www.github.com

www.bitbucket.org

etc.

¾Cómo?

$ git remote add mirepo www.servidorgit.com/proyecto.git

# Para enviar todo el repositorio por primera vez

$ git push -u mirepo �all

www.servidorgit.com/proyecto.git

* [new branch] master -> master

* [new branch] nuevo-teorema -> nuevo-teorema

* [new branch] tutor -> tutor

Branch master set up to track remote branch master from origin.

Branch nuevo-teorema set up to track remote branch nuevo-teorema from origin.

Branch tutor set up to track remote branch tutor from origin.

Maikol Solís LATEX y Git 38 / 51

Page 85: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

En las nubes � git remote

¾Cómo?

$ git remote add mirepo www.servidorgit.com/proyecto.git

# Para enviar todo el repositorio por primera vez

$ git push -u mirepo �all

www.servidorgit.com/proyecto.git

* [new branch] master -> master

* [new branch] nuevo-teorema -> nuevo-teorema

* [new branch] tutor -> tutor

Branch master set up to track remote branch master from origin.

Branch nuevo-teorema set up to track remote branch nuevo-teorema from origin.

Branch tutor set up to track remote branch tutor from origin.

Maikol Solís LATEX y Git 38 / 51

Page 86: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

En las nubes � git remote

¾Cómo?

$ git remote add mirepo www.servidorgit.com/proyecto.git

# Para enviar todo el repositorio por primera vez

$ git push -u mirepo �all

www.servidorgit.com/proyecto.git

* [new branch] master -> master

* [new branch] nuevo-teorema -> nuevo-teorema

* [new branch] tutor -> tutor

Branch master set up to track remote branch master from origin.

Branch nuevo-teorema set up to track remote branch nuevo-teorema from origin.

Branch tutor set up to track remote branch tutor from origin.

Maikol Solís LATEX y Git 38 / 51

Page 87: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

En las nubes � git remote

¾Cómo?

$ git remote add mirepo www.servidorgit.com/proyecto.git

# Para enviar todo el repositorio por primera vez

$ git push -u mirepo �all

www.servidorgit.com/proyecto.git

* [new branch] master -> master

* [new branch] nuevo-teorema -> nuevo-teorema

* [new branch] tutor -> tutor

Branch master set up to track remote branch master from origin.

Branch nuevo-teorema set up to track remote branch nuevo-teorema from origin.

Branch tutor set up to track remote branch tutor from origin.

Maikol Solís LATEX y Git 38 / 51

Page 88: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

En las nubes � git remote

¾Cómo?

$ git remote add mirepo www.servidorgit.com/proyecto.git

# Para enviar todo el repositorio por primera vez

$ git push -u mirepo �all

www.servidorgit.com/proyecto.git

* [new branch] master -> master

* [new branch] nuevo-teorema -> nuevo-teorema

* [new branch] tutor -> tutor

Branch master set up to track remote branch master from origin.

Branch nuevo-teorema set up to track remote branch nuevo-teorema from origin.

Branch tutor set up to track remote branch tutor from origin.

Maikol Solís LATEX y Git 38 / 51

Page 89: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

En las nubes � git remote

¾Cómo?

$ git remote add mirepo www.servidorgit.com/proyecto.git

# Para enviar todo el repositorio por primera vez

$ git push -u mirepo �all

www.servidorgit.com/proyecto.git

* [new branch] master -> master

* [new branch] nuevo-teorema -> nuevo-teorema

* [new branch] tutor -> tutor

Branch master set up to track remote branch master from origin.

Branch nuevo-teorema set up to track remote branch nuevo-teorema from origin.

Branch tutor set up to track remote branch tutor from origin.

Maikol Solís LATEX y Git 38 / 51

Page 90: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

En las nubes � git remote

¾Cómo?

$ git remote add mirepo www.servidorgit.com/proyecto.git

# Para enviar todo el repositorio por primera vez

$ git push -u mirepo �all

www.servidorgit.com/proyecto.git

* [new branch] master -> master

* [new branch] nuevo-teorema -> nuevo-teorema

* [new branch] tutor -> tutor

Branch master set up to track remote branch master from origin.

Branch nuevo-teorema set up to track remote branch nuevo-teorema from origin.

Branch tutor set up to track remote branch tutor from origin.

Maikol Solís LATEX y Git 38 / 51

Page 91: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

El ataque de los clones � git clone

Marcos Ramírez quiere copiar localmente mi repositorio en su computadora

$ git clone www.servidorgit.com/proyecto.git

Cloning into 'proyecto'...

remote: Counting objects: 21, done.

remote: Compressing objects: 100% (14/14), done.

remote: Total 21 (delta 6), reused 0 (delta 0)

Unpacking objects: 100 % (21/21), done.

Maikol Solís LATEX y Git 39 / 51

Page 92: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

El ataque de los clones � git clone

Marcos Ramírez quiere copiar localmente mi repositorio en su computadora

$ git clone www.servidorgit.com/proyecto.git

Cloning into 'proyecto'...

remote: Counting objects: 21, done.

remote: Compressing objects: 100% (14/14), done.

remote: Total 21 (delta 6), reused 0 (delta 0)

Unpacking objects: 100 % (21/21), done.

Maikol Solís LATEX y Git 39 / 51

Page 93: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

El ataque de los clones � git clone

Marcos Ramírez quiere copiar localmente mi repositorio en su computadora

$ git clone www.servidorgit.com/proyecto.git

Cloning into 'proyecto'...

remote: Counting objects: 21, done.

remote: Compressing objects: 100% (14/14), done.

remote: Total 21 (delta 6), reused 0 (delta 0)

Unpacking objects: 100 % (21/21), done.

Maikol Solís LATEX y Git 39 / 51

Page 94: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Rastreando cambios � Tracking branches

$ git branch -a

* master

remotes/origin/HEAD -> origin/master

remotes/origin/master

remotes/origin/nuevo-teorema

remotes/origin/tutor

Tracking branch

Crea una rama local ligada a la rama remota

$ git branch tutorMarcosRamirez remotes/origin/tutor

Maikol Solís LATEX y Git 40 / 51

Page 95: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Rastreando cambios � Tracking branches

$ git branch -a

* master

remotes/origin/HEAD -> origin/master

remotes/origin/master

remotes/origin/nuevo-teorema

remotes/origin/tutor

Tracking branch

Crea una rama local ligada a la rama remota

$ git branch tutorMarcosRamirez remotes/origin/tutor

Maikol Solís LATEX y Git 40 / 51

Page 96: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

½Empuje! ½Empuje! � git push

Marcos Ramirez modi�ca la introducción en la rama tutor

$ git checkout tutorMarcosRamirez

$ git diff

...

-Mi tutor quiere que cambie la introducción.

+El problema que veremos a continuación es muy

+interesante. Vamos a analizarlo profundamente.

...

Maikol Solís LATEX y Git 41 / 51

Page 97: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

½Empuje! ½Empuje! � git push

$ git checkout tutorMarcosRamirez

$ git diff

Luego él envía todos esos cambios al servidor remoto:

$ git push

To www.servidorgit.com/proyecto.git

f1afe8e..b0e7428 tutorMarcosRamirez -> tutor

Maikol Solís LATEX y Git 41 / 51

Page 98: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

½Jale! ½Jale! � git pull

Quiero recuperar los cambios que hizo Marcos Ramírez en mi computadora.

$ git pull

remote: Counting objects: 5, done.

remote: Compressing objects: 100% (2/2), done.

remote: Total 3 (delta 1), reused 0 (delta 0)

Unpacking objects: 100% (3/3), done.

From www.servidorgit.com/proyecto.git

f1afe8e..b0e7428 tutor -> origin/tutor

Updating f1afe8e..b0e7428

Fast-forward

proyecto.tex | 3 ++-

1 file changed, 2 insertions(+), 1 deletion(-)

Maikol Solís LATEX y Git 42 / 51

Page 99: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

½Jale! ½Jale! � git pull

Quiero recuperar los cambios que hizo Marcos Ramírez en mi computadora.

$ git pull

remote: Counting objects: 5, done.

remote: Compressing objects: 100% (2/2), done.

remote: Total 3 (delta 1), reused 0 (delta 0)

Unpacking objects: 100% (3/3), done.

From www.servidorgit.com/proyecto.git

f1afe8e..b0e7428 tutor -> origin/tutor

Updating f1afe8e..b0e7428

Fast-forward

proyecto.tex | 3 ++-

1 file changed, 2 insertions(+), 1 deletion(-)

Maikol Solís LATEX y Git 42 / 51

Page 100: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Todos ayudan

commit b0e742872d4207b27621b02401f2b601c1a1a067

Author: Marcos Ramírez <[email protected]>

Date: Fri Aug 2 13:09:37 2013 -0600

Introducción por Marcos Ramírez

commit f1afe8ed5a928b82aeeb4d511d4b2a39fc01c235

Author: Maikol Solís <[email protected]>

Date: Sat Jul 27 17:33:46 2013 +0200

Un cambio en la introducción

Maikol Solís LATEX y Git 43 / 51

Page 101: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Idea

Page 102: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Servidor propio � Escuela de Matemática

$ git remote add mirepo www.servidorgit.com/proyecto.git

Maikol Solís LATEX y Git 45 / 51

Page 103: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Servidor propio � Escuela de Matemática

$ git remote add mirepo www.emate.ucr.ac.cr/git/proyecto.git

$ git remote add mirepo git.emate.ucr.ac.cr/proyecto.git

Documentos de cursos:

I Cartas al estudiante.I Listas de ejercicios.I Libros de texto.

Proyectos para grupos de investigación.

Artículos.

...

Maikol Solís LATEX y Git 45 / 51

Page 104: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Resumiendo

git remote Enlista, agrega y borra repositorios remotos.

git clone Copia un repositorio git remoto a su computadora para

trabajar localmente.

git pull Carga los cambios desde un repositorio remoto y trata de

fusionar esos cambios en la rama actual. Otra opción es git fetch.

git push Envía todos los cambios hacia los repositorios remotos.

Maikol Solís LATEX y Git 46 / 51

Page 105: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Resumiendo

git remote Enlista, agrega y borra repositorios remotos.

git clone Copia un repositorio git remoto a su computadora para

trabajar localmente.

git pull Carga los cambios desde un repositorio remoto y trata de

fusionar esos cambios en la rama actual. Otra opción es git fetch.

git push Envía todos los cambios hacia los repositorios remotos.

Maikol Solís LATEX y Git 46 / 51

Page 106: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Resumiendo

git remote Enlista, agrega y borra repositorios remotos.

git clone Copia un repositorio git remoto a su computadora para

trabajar localmente.

git pull Carga los cambios desde un repositorio remoto y trata de

fusionar esos cambios en la rama actual. Otra opción es git fetch.

git push Envía todos los cambios hacia los repositorios remotos.

Maikol Solís LATEX y Git 46 / 51

Page 107: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Resumiendo

git remote Enlista, agrega y borra repositorios remotos.

git clone Copia un repositorio git remoto a su computadora para

trabajar localmente.

git pull Carga los cambios desde un repositorio remoto y trata de

fusionar esos cambios en la rama actual. Otra opción es git fetch.

git push Envía todos los cambios hacia los repositorios remotos.

Maikol Solís LATEX y Git 46 / 51

Page 108: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Sección 6

¾Y qué falta?

Maikol Solís LATEX y Git 47 / 51

Page 109: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

TODO...

Revertir versiones.

Recuperar archivos. Git nunca borra, solo rastrea cambios.

Reescribir la historia de cambios.

Creación de roles de trabajo. Administrador, usuarios (lectura o

escritura).

y un gran etcétera.

Maikol Solís LATEX y Git 48 / 51

Page 110: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

Sección 7

¾Y la ayuda?

Maikol Solís LATEX y Git 49 / 51

Page 111: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

$ git comando --help

$ git help comando

Sitio o�cial. www.git-scm.com

Tutoriales. www.atlassian.com/git/tutorial

Internet. Google es su amigo.

Maikol Solís LATEX y Git 50 / 51

Page 112: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

¾Qué pasa después de leer ladocumentación de Git?

Page 113: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?
Page 114: LaTeX y Git: ¿Cómo controlar archivos de LaTeX eficientemente?

½Muchas gracias por su atención!