forked from esparta/gitimmersion-spanish
-
Notifications
You must be signed in to change notification settings - Fork 0
/
lab_23.html
174 lines (168 loc) · 12.1 KB
/
lab_23.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
<!DOCTYPE html>
<html>
<head>
<title>Lab 23 - Git Immersion en Español</title>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" media="screen" href="css/screen.css">
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript" src="javascript/jquery.js"></script>
<script type="text/javascript" src="javascript/jquery.hotkeys.js"></script>
<script type="text/javascript" src="javascript/UI.js"></script>
</head>
<body data-lab-id="23">
<header id="header">
<a href="index.html" id="home_link">Git Immersion en Español</a>
<nav id="pager">
<a id="arrow_next" class="arrow" href="lab_24.html">Siguiente</a>
<a id="arrow_previous" class="arrow" href="lab_22.html">Anterior</a>
<a id="table_of_contents_link" href="#">Tabla de Contenidos</a>
<a id="bookmark_link"><span id="bookmark"></span>Añadir a favoritos</a>
<a id="edgecase_link" href="http://edgecase.com" target="_blank">EdgeCase</a>
</nav>
<h1 class="lab_title"><em>lab 23</em> Al Interior de Git: Directorio de trabajo con Objetos de Git</h1>
<a href="http://edgecase.com" target="_blank" id="other_edgecase_link">EdgeCase</a>
</header>
<div id="main_content">
<h1 class="lab_title"><em>lab 23</em> Al Interior de Git:<br/> Directorio de trabajo con Objetos de Git</h1>
<h3>Metas</h3>
<ul>
<li>Explorar la estructura del almacenamiento de objetos.</li>
<li>Aprender a usar los hash SHA1 para encontrar contenido en el repositorio.</li>
</ul>
<p>Ahora vamos a usar algunas herramientas para probar los objetos de git directamente.</p>
<h2>Encontrando el último Commit <em>01</em></h2>
<h4>Ejecute:</h4>
<pre class="instructions">git hist --max-count=1</pre>
<p>Esto debería mostrar el último Commit hecho en el repositorio. El hash SHA1 en su sistema es seguramente diferente al mío, pero verá algo como esto:</p>
<h4>Salida:</h4>
<pre class="sample">$ git hist --max-count=1
* 76ba0a7 2012-03-06 | Added a Rakefile. (HEAD, master) [Jim Weirich]</pre>
<h2>Extrayendo el último Commit <em>02</em></h2>
<p>Usando el hash SHA1 del listado anterior …</p>
<h4>Ejecute:</h4>
<pre class="instructions">git cat-file -t <hash>
git cat-file -p <hash></pre>
<p>Podrá ver el siguiente resultado...</p>
<h4>Salida:</h4>
<pre class="sample">$ git cat-file -t 76ba0a7
commit
$ git cat-file -p 76ba0a7
tree 096b74c56bfc6b40e754fc0725b8c70b2038b91e
parent b8f15c35ac4e42485773fec06e7155203a16c986
author Jim Weirich <jim (at) edgecase.com> 1331068328 -0500
committer Jim Weirich <jim (at) edgecase.com> 1331068328 -0500
Added a Rakefile.
</pre>
<p class="note"><strong><span class="caps">NOTA</span>:</strong> Si definió los alias ‘type’ y ‘dump’ en el laboratorio de alias, entonces podrá escribir <code>git type</code> y <code>git dump</code> en vez de el comando más largo cat-file (el cuál nunca puedo recordar).</p>
<p>Este es el vaciado de el objeto Commit que está en el encabezado de la rama "master". Se parece mucho al objeto Commit de la presentación anterior.</p>
<h2>Buscando el Árbol <em>03</em></h2>
<p>Podemos vaciar el árbol referenciado en el Commit. Debería ser una descripción de los archivos de más alto nivel en nuestro proyecto (para ese Commit). Use el valor del hash SHA1 de la propiedad “tree” listado arriba.</p>
<h4>Ejecute:</h4>
<pre class="instructions">git cat-file -p <treehash></pre>
<p>Aquí está cómo se ve mi árbol</p>
<h4>Salida:</h4>
<pre class="sample">$ git cat-file -p 096b74c
100644 blob 28e0e9d6ea7e25f35ec64a43f569b550e8386f90 Rakefile
040000 tree e46f374f5b36c6f02fb3e9e922b79044f754d795 lib
</pre>
<p>Sí, veo el Rakefile y el directorio lib.</p>
<h2>Volcando el directorio lib <em>04</em></h2>
<h4>Ejecute:</h4>
<pre class="instructions">git cat-file -p <libhash></pre>
<h4>Salida:</h4>
<pre class="sample">$ git cat-file -p e46f374
100644 blob c45f26b6fdc7db6ba779fc4c385d9d24fc12cf72 hello.rb
</pre>
<p>Aquí está el archivo <code>hello.rb</code>.</p>
<h2>Volcando el archivo <code>hello.rb</code> <em>05</em></h2>
<h4>Ejecute:</h4>
<pre class="instructions">git cat-file -p <rbhash></pre>
<h4>Salida:</h4>
<pre class="sample">$ git cat-file -p c45f26b
# Default is World
# Author: Jim Weirich ([email protected])
name = ARGV.first || "World"
puts "Hello, #{name}!"
</pre>
<p>Aquí lo tiene. Hemos volcado los objetos Commit, tree y blob directamente desde el repositorio git. Es todo lo que hay: blobs, árboles y commits.</p>
<h2>Explore usted mismo <em>06</em></h2>
<p>Explore por su cuenta el repositorio git manualmente. Vea si puede encontrar el archivo origina hello.rb desde el primer Commit siguiendo manualmente las referencias de los hash SHA1 iniciando desde el último Commit.</p>
</div>
<div id="index">
<h1>Tabla de Contenidos</h1>
<div id="show_bookmarks"></div>
<div id="no_bookmarks"></div>
<ul>
<li id="lab_0_link"><a href="index.html"><span> </span>Portada</a></li>
<li id="lab_1_link" data-lab-id="1"><a href="lab_01.html"><span>1:</span> Configuración</a></li>
<li id="lab_2_link" data-lab-id="2"><a href="lab_02.html"><span>2:</span> Más configuración</a></li>
<li id="lab_3_link" data-lab-id="3"><a href="lab_03.html"><span>3:</span> Crear un Proyecto</a></li>
<li id="lab_4_link" data-lab-id="4"><a href="lab_04.html"><span>4:</span> Revisar Estatus</a></li>
<li id="lab_5_link" data-lab-id="5"><a href="lab_05.html"><span>5:</span> Realizar Cambios</a></li>
<li id="lab_6_link" data-lab-id="6"><a href="lab_06.html"><span>6:</span> Hacer Staging a cambios</a></li>
<li id="lab_7_link" data-lab-id="7"><a href="lab_07.html"><span>7:</span> Staging y Commit</a></li>
<li id="lab_8_link" data-lab-id="8"><a href="lab_08.html"><span>8:</span> Hacer Commit a los cambios</a></li>
<li id="lab_9_link" data-lab-id="9"><a href="lab_09.html"><span>9:</span> Cambios, no archivos</a></li>
<li id="lab_10_link" data-lab-id="10"><a href="lab_10.html"><span>10:</span> Historial</a></li>
<li id="lab_11_link" data-lab-id="11"><a href="lab_11.html"><span>11:</span> Alias</a></li>
<li id="lab_12_link" data-lab-id="12"><a href="lab_12.html"><span>12:</span> Obteniendo Versiones Antiguas</a></li>
<li id="lab_13_link" data-lab-id="13"><a href="lab_13.html"><span>13:</span> Etiquetar (Tagging) versiones</a></li>
<li id="lab_14_link" data-lab-id="14"><a href="lab_14.html"><span>14:</span> Deshacer Cambios Locales (antes de staging)</a></li>
<li id="lab_15_link" data-lab-id="15"><a href="lab_15.html"><span>15:</span> Deshacer Cambios en Stage (antes de commit)</a></li>
<li id="lab_16_link" data-lab-id="16"><a href="lab_16.html"><span>16:</span> Deshacer Cambios Confirmados (Committed)</a></li>
<li id="lab_17_link" data-lab-id="17"><a href="lab_17.html"><span>17:</span> Quitando Commits de una Ramificación (Branch)</a></li>
<li id="lab_18_link" data-lab-id="18"><a href="lab_18.html"><span>18:</span> Quitando la etiqueta "oops"</a></li>
<li id="lab_19_link" data-lab-id="19"><a href="lab_19.html"><span>19:</span> Enmendar Commits (--amend)</a></li>
<li id="lab_20_link" data-lab-id="20"><a href="lab_20.html"><span>20:</span> Moviendo Archivos</a></li>
<li id="lab_21_link" data-lab-id="21"><a href="lab_21.html"><span>21:</span> Más Estructura</a></li>
<li id="lab_22_link" data-lab-id="22"><a href="lab_22.html"><span>22:</span> Al Interior de Git: El directorio .git</a></li>
<li id="lab_23_link" data-lab-id="23"><a href="lab_23.html"><span>23:</span> Al Interior de Git: Directorio de trabajo con Objetos de Git</a></li>
<li id="lab_24_link" data-lab-id="24"><a href="lab_24.html"><span>24:</span> Creando una Ramificación (Branch)</a></li>
<li id="lab_25_link" data-lab-id="25"><a href="lab_25.html"><span>25:</span> Navegando Ramificaciones</a></li>
<li id="lab_26_link" data-lab-id="26"><a href="lab_26.html"><span>26:</span> Cambios en Master</a></li>
<li id="lab_27_link" data-lab-id="27"><a href="lab_27.html"><span>27:</span> Viendo las ramificaciones divergentes</a></li>
<li id="lab_28_link" data-lab-id="28"><a href="lab_28.html"><span>28:</span> Fusionando (Merge)</a></li>
<li id="lab_29_link" data-lab-id="29"><a href="lab_29.html"><span>29:</span> Creando un Conflicto</a></li>
<li id="lab_30_link" data-lab-id="30"><a href="lab_30.html"><span>30:</span> Resolviendo Conflictos</a></li>
<li id="lab_31_link" data-lab-id="31"><a href="lab_31.html"><span>31:</span> Cambio de Base (Rebasing) VS Fusión (Merging)</a></li>
<li id="lab_32_link" data-lab-id="32"><a href="lab_32.html"><span>32:</span> Restableciendo la ramificación Greet</a></li>
<li id="lab_33_link" data-lab-id="33"><a href="lab_33.html"><span>33:</span> Reestableciendo la ramificación Master</a></li>
<li id="lab_34_link" data-lab-id="34"><a href="lab_34.html"><span>34:</span> Cambio de Base (Rebasing)</a></li>
<li id="lab_35_link" data-lab-id="35"><a href="lab_35.html"><span>35:</span> Volver a Fusionar a la ramificación Principal</a></li>
<li id="lab_36_link" data-lab-id="36"><a href="lab_36.html"><span>36:</span> Múltiples Repositorios</a></li>
<li id="lab_37_link" data-lab-id="37"><a href="lab_37.html"><span>37:</span> Clonando Repositorios</a></li>
<li id="lab_38_link" data-lab-id="38"><a href="lab_38.html"><span>38:</span> Revisión del Repositorio Clonado</a></li>
<li id="lab_39_link" data-lab-id="39"><a href="lab_39.html"><span>39:</span> ¿Qué es "Origin"?</a></li>
<li id="lab_40_link" data-lab-id="40"><a href="lab_40.html"><span>40:</span> Ramificaciones Remotas</a></li>
<li id="lab_41_link" data-lab-id="41"><a href="lab_41.html"><span>41:</span> Cambiar el Repositorio Original</a></li>
<li id="lab_42_link" data-lab-id="42"><a href="lab_42.html"><span>42:</span> Entregar Cambios (Fetch)</a></li>
<li id="lab_43_link" data-lab-id="43"><a href="lab_43.html"><span>43:</span> Fusionar Cambios Recibidos</a></li>
<li id="lab_44_link" data-lab-id="44"><a href="lab_44.html"><span>44:</span> Recibiendo cambios remotos (comando Pull)</a></li>
<li id="lab_45_link" data-lab-id="45"><a href="lab_45.html"><span>45:</span> Agregando un rastreo de Ramificación</a></li>
<li id="lab_46_link" data-lab-id="46"><a href="lab_46.html"><span>46:</span> Repositorios Escuetos (--bare)</a></li>
<li id="lab_47_link" data-lab-id="47"><a href="lab_47.html"><span>47:</span> Agregando un Repositorio Remoto</a></li>
<li id="lab_48_link" data-lab-id="48"><a href="lab_48.html"><span>48:</span> Enviando Cambios</a></li>
<li id="lab_49_link" data-lab-id="49"><a href="lab_49.html"><span>49:</span> Recibiendo Cambios Compartidos</a></li>
<li id="lab_50_link" data-lab-id="50"><a href="lab_50.html"><span>50:</span> Hospedando sus repositorios Git</a></li>
<li id="lab_51_link" data-lab-id="51"><a href="lab_51.html"><span>51:</span> Compartiendo Repositorios</a></li>
<li id="lab_52_link" data-lab-id="52"><a href="lab_52.html"><span>52:</span> Tópicos Avanzados / Futuros</a></li>
<li id="lab_53_link" data-lab-id="53"><a href="lab_53.html"><span>53:</span> Gracias</a></li>
</ul>
</div>
<div id="cover"></div>
</body>
</html>