Publicado el 7 de Septiembre del 2017
1.149 visualizaciones desde el 7 de Septiembre del 2017
319,6 KB
54 paginas
Creado hace 10a (09/10/2014)
Git
Taller de introducción
Ejercicio
Git. Taller de introducción. Ejercicio
Desarrollado por Jesús Amieiro Becerra
Este archivo se encuentra bajo una licencia Creative Commons Reconocimiento-
CompartirIgual (CC BY-SA). Se permite el uso comercial de la obra y de las posibles
obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la
que regula la obra original.
Versión actual: 09/10/2014
Puedes obtener la última versión disponible de este documento en
http://www.jesusamieiro.com/docs/
2
Índice de contenido
1 Presentación...............................................................................................................5
2 Clonando un repositorio existente..............................................................................5
3 Inicialización a partir de un proyecto existente..........................................................6
4 Inicialización a partir de un proyecto nuevo...............................................................8
5 Añadir un primer archivo............................................................................................9
6 Primer commit..........................................................................................................10
7 Añadiendo más archivos...........................................................................................10
8 Editando archivos.....................................................................................................13
9 Historial del repositorio.............................................................................................17
9.1 Otros fltros de git log........................................................................................17
10 Cambios en los diferentes commits........................................................................18
11 Ramas. Creación.....................................................................................................21
12 Ramas. Listado.......................................................................................................23
13 Ramas. Cambio de rama........................................................................................24
14 Ramas. Trabajando con ellas..................................................................................24
15 Rama. Creación y cambio.......................................................................................26
16 Renombrar una rama..............................................................................................29
17 Borrar una rama.....................................................................................................30
18 Ramas. Fusión........................................................................................................30
19 Confictos en la fusión entre ramas........................................................................35
19.1 Abortar la fusión..............................................................................................36
19.2 Resolver el problema de forma manual...........................................................37
19.3 Visualizando gráfcamente las ramas..............................................................39
20 Mostrar información de un objeto...........................................................................40
21 Comparando commits............................................................................................40
22 Etiquetas................................................................................................................40
23 Colaborando en un servidor remoto: remote, fetch, push, pull..............................41
23.1 Empezando un proyecto desde cero................................................................41
23.2 Sincronizando un proyecto local existente......................................................44
23.3 Colaborando con un segundo usuario.............................................................49
3
1 Presentación
Este documento es un guion de trabajo elaborado para un taller de introducción a Git,
de tal forma que cualquier alumno pueda seguir las explicaciones y/o repetirlo cuando
le interese.
2
Clonando un repositorio existente
git clone URL [directorio]
cd ~/proyectos/
git clone https://github.com/jquery/jquery.git
ls
jquery
ls jquery -la
AUTHORS.txt
bower.json
.bowerrc
build
CONTRIBUTING.md
.editorconfig
.git
.gitattributes
.gitignore
Gruntfile.js
.jscs.json
.jshintignore
.jshintrc
.mailmap
MIT-LICENSE.txt
.npmignore
Capítulo 2 Clonando un repositorio existente | 5
package.json
README.md
src
test
.travis.yml
cd jquery
git log
git log --format='%Cred%h%Creset -%C(yellow)%d%Creset %s
%Cgreen(%cr)' --abbrev-commit --date=relative -10
Inicialización a partir de un proyecto existente
3
Lo primero que hago es crear un directorio de trabajo, que será la zona de trabajo del
proyecto que voy a controlar con Git.
cd ~/proyectos/
mkdir proyecto_existente
cd proyecto_existente
Compruebo el contenido del directorio
ls -la
Está vacío. Añado dos archivos
touch archivo_a.txt
touch archivo_b.txt
Compruebo el contenido del directorio
ls -la
archivo_a.txt
archivo_b.txt
Inicializo el repositorio.
git init
6 | Capítulo 3 Inicialización a partir de un proyecto existente
Initialized empty Git repository in
/home/fontelearn/proyectos/proyecto_existente/.git/
Compruebo el contenido y el estado del repositorio
ls -la
archivo_a.txt
archivo_b.txt
.git
Hay un directorio llamado ".git", donde Git guarda toda la información relativa al
repositorio actual.
.git/
├── branches
├── config
├── description
├── HEAD
├── hooks
│ ├── applypatch-msg.sample
│ ├── commit-msg.sample
│ ├── post-update.sample
│ ├── pre-applypatch.sample
│ ├── pre-commit.sample
│ ├── prepare-commit-msg.sample
│ ├── pre-rebase.sample
│ └── update.sample
├── info
│ └── exclude
├── objects
│ ├── info
│ └── pack
└── refs
├── heads
└── tags
Compruebo el estado del repositorio
Capítulo 3 Inicialización a partir de un proyecto existente | 7
git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# archivo_a.txt
# archivo_b.txt
nothing added to commit but untracked files present (use "git add" to track)
4
Inicialización a partir de un proyecto nuevo
mkdir ~/proyectos/proyecto_prueba/
cd ~/proyectos/proyecto_prueba/
Compruebo el estado del repositorio
git status
No he inicializado el repositorio
fatal: Not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
ls -la
.
..
Inicializo el repositorio
git init
Initialized empty Git repository in
8 | Capítulo 4 Inicialización a partir de un proyecto nuevo
/home/fontelearn/proyectos/proyecto_prueba/.git/
ls -la
Aparece un nuevo directorio ".git"
.
..
.git
similar al generado en el apartado anterior.
5 Añadir un primer archivo
touch archivo_a.txt
ls -la
archivo_a.txt
.git
Compruebo el estado del repositorio
git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
archivo_a.txt
nothing added to commit but untracked files present (use "git add" to track)
Pongo al archivo archivo_a.txt bajo seguimiento y lo paso a la zona de preparación
Capítulo 5 Añadir un primer archivo | 9
git add archivo_a.txt
o
git add .
Compruebo el estado del repositorio
git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: archivo_a.txt
6 Primer commit
Ejecuto el primer commit
git commit -m "Añado el archivo_a.txt vacío"
[master (root-commit) bbc294f] Añado el archivo_a.txt vacío
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 archivo_a.txt
Compruebo el estado del repositorio
git status
On branch master
nothing to commit, working directory clean
7 Añadiendo más archivos
Creo 2 archivos vacíos
10 | Capítulo 7 Añadiendo más archivos
touch archivo_b.txt
touch archivo_c.txt
Compruebo el estado del repositorio
git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
archivo_b.txt
archivo_c.txt
nothing added to commit but untracked files present (use "git add" to track)
Pongo el archivo archivo_b.txt bajo seguimiento y lo paso a la zona de preparación
git add archivo_b.txt
Compruebo el estado del repositorio
git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: archivo_b.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
archivo_c.txt
Realizo el commit
git commit -m "Añado el archivo_b.txt vacío"
Capítulo 7 Añadiendo más archivos | 11
[master a09d278] Añado el archivo_b.txt vacío
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 archivo_b.txt
Compruebo el estado del repositorio
git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
archivo_c.txt
nothing added to commit but untracked files present (use "git add" to track)
Pongo el archivo archivo_c.txt bajo seguimiento y lo paso a la zona de preparación
git add .
Compruebo el estado del repositorio
git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: archivo_c.txt
Realizo el commit
git commit
En el editor añado al inicio del archivo el texto
Añado el archivo_c.txt vacío
Guardo y salgo del editor
1 file changed, 0 insertions(+), 0 deletions(-)
12 | Capítulo 7 Añadiendo más archivos
create mode 100644 archivo_c.txt
Veo el historial del repositorio
git log --oneline
e6115ee Añado el archivo_c.txt vacío
a09d278 Añ
Comentarios de: Git Taller de introducción - Ejercicio (0)
No hay comentarios