forked from esparta/gitimmersion-spanish
-
Notifications
You must be signed in to change notification settings - Fork 0
/
lab_16.html
154 lines (149 loc) · 11.5 KB
/
lab_16.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
<!DOCTYPE html>
<html>
<head>
<title>Lab 16 - 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="16">
<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_17.html">Siguiente</a>
<a id="arrow_previous" class="arrow" href="lab_15.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 16</em> Deshacer Cambios Confirmados (Committed)</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 16</em> Deshacer Cambios Confirmados (Committed)</h1>
<h3>Metas</h3>
<ul>
<li>Aprender a revertir los cambios que se enviaron a Commit en un repositorio local.</li>
</ul>
<h2>Deshacer Commits <em>01</em></h2>
<p>Algunas veces se da cuenta que el cambio que ya está confirmado era incorrecto y desea deshacer ese Commit. Hay varias formas de manejar este asunto, y la manera en que vamos a usar en este laboratorio siempre es segura.</p>
<p>Esencialmente desharemos el Commit al crear un nuevo Commit que retorne el cambio no deseado.</p>
<h2>Cambie el archivo y haga el Commit. <em>02</em></h2>
<p>Cambie el archivo <code>hello.rb</code> con lo siguiente.</p>
<h4>Archivo: <em>hello.rb</em></h4>
<pre class="file"># This is an unwanted but committed change
name = ARGV.first || "World"
puts "Hello, #{name}!"
</pre>
<h4>Ejecute:</h4>
<pre class="instructions">git add hello.rb
git commit -m "Oops, we didn't want this commit"</pre>
<h2>Crear y Revertir Commit <em>03</em></h2>
<p>Para deshacer el cambio confirmado, necesitamos generar un commit que quite los cambios introducidos en nuestro Commit no deseado.</p>
<h4>Ejecute:</h4>
<pre class="instructions">git revert HEAD</pre>
<p>Esto hará aparecer el editor. Puede editar el mensaje por defecto del Commit o dejarlo como está. Guarde y cierre el archivo. Debería ver …</p>
<h4>Salida:</h4>
<pre class="sample">$ git revert HEAD --no-edit
[master 9ad227a] Revert "Oops, we didn't want this commit"
1 files changed, 1 insertions(+), 1 deletions(-)
</pre>
<p>Debido a que estamos deshaciendo el último Commit que hicimos, podemos usar <code>HEAD</code> como el argumento a revertir. Podemos revertir arbitrariamente cualquier Commit en el historial simplemente al especificar su hash.</p>
<p class="note"><strong>Nota:</strong> El parámetro <code>--no-edit</code> en la salida puede ser ignorado. Esto es necesario para generar la salida sin abrir el editor.</p>
<h2>Revise el log <em>04</em></h2>
<p>Al revisar el log nos muestra ambos Commit, el no deseado y el Commit paa revertir los cambios en nuestro repositorio.</p>
<h4>Ejecute:</h4>
<pre class="instructions">git hist</pre>
<h4>Salida:</h4>
<pre class="sample">$ git hist
* 9ad227a 2012-03-06 | Revert "Oops, we didn't want this commit" (HEAD, master) [Jim Weirich]
* d20d016 2012-03-06 | Oops, we didn't want this commit [Jim Weirich]
* 4054321 2012-03-06 | Added a comment (v1) [Jim Weirich]
* 1b754e9 2012-03-06 | Added a default value (v1-beta) [Jim Weirich]
* 3053491 2012-03-06 | Using ARGV [Jim Weirich]
* 3cbf83b 2012-03-06 | First Commit [Jim Weirich]</pre>
<p>Esta técnica funcionará con cualquier commit (aunque puede que tenga que resolver conflictos). Es seguro de usar aún en ramas que están públicamente compartirdas en repositorios remotos.</p>
<h2>A Continuación <em>05</em></h2>
<p>Como siguiente paso, veremos una técnica que puede ser usada para quitar los Commits más recientes del repositorio público.</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>