forked from rogerdudler/git-guide
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.es.html
225 lines (222 loc) · 11.8 KB
/
index.es.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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>git - the simple guide - no deep shit!</title>
<link href='http://fonts.googleapis.com/css?family=Chelsea+Market' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/normalize.css" type="text/css">
<link rel="stylesheet" href="css/style.css" type="text/css">
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-652147-13']);
_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>
</head>
<body>
<div class="scrollblock block-title">
<h1>git - la guia sencilla</h1>
<p>simplemente una guia sencilla para comenzar con git. nada complicado</p>
<a href="https://twitter.com/share" class="twitter-share-button" data-via="rogerdudler" data-size="large" data-url="http://rogerdudler.github.com/git-guide" data-related="rogerdudler" data-hashtags="git">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
<p class="meta">
by <a href="http://www.twitter.com/rogerdudler">Roger Dudler</a> (translation by <a href="http://www.twitter.com/lfbarragan">@lfbarragan</a>)
<br />creditos a <a href="http://www.twitter.com/tfnico">@tfnico</a>, <a href="http://www.twitter.com/fhd">@fhd</a> and <a href="http://www.namics.com">Namics</a><br />
esta guia en <a href="index.de.html">deutsch</a>, <a href="index.html">english</a>, <a href="index.fr.html">français</a>, <a href="index.it.html">italiano</a>, <a href="index.nl.html">nederlands</a>, <a href="index.pt_BR.html">português</a>, <a href="index.ru.html">русский</a><br />
por favor reporta cualquier problema en <a href="https://github.com/rogerdudler/git-guide/issues">github</a>
</p>
<img src="img/arrow.png" alt="" />
</div>
<!-- setup -->
<a name="setup"></a>
<div class="scrollblock block-setup">
<h2>configuracion</h2>
<p>
<a href="http://code.google.com/p/git-osx-installer/downloads/list?can=3">Descarga git para OSX</a>
</p>
<p>
<a href="http://code.google.com/p/msysgit/downloads/list?can=3">Descarga git para Windows</a>
</p>
<p>
<a href="http://book.git-scm.com/2_installing_git.html">Descarga git para Linux</a>
</p>
</div>
<a name="create"></a>
<div class="scrollblock block-create">
<h2>crea un repositorio nuevo</h2>
<p>
crea un directorio nuevo, abrelo y ejecuta<br />
<code>git init</code><br />
para crear un repositorio de git nuevo.
</p>
</div>
<a name="checkout"></a>
<div class="scrollblock block-checkout">
<h2>hacer checkout a un repositorio</h2>
<p>
crea una copia local del repositorio ejecutando<br />
<code>git clone /path/to/repository</code><br />
al utilizar un servidor remoto, el comando sera<br />
<code>git clone username@host:/path/to/repository</code>
</p>
</div>
<a name="trees"></a>
<div class="scrollblock block-trees">
<h2>flujo de trabajo</h2>
<p>
tu repositorio local esta compuesto por tres "arboles" administrados por git.
el primero es tu <code>Directorio de trabajo</code> el cual contiene los archivos.
el segundo es el <code>Index</code> el cual actua como un area intermedia y finalmente el
<code>HEAD</code> el cual apunta a el ultimo commit realizado.
</p>
<img src="img/trees.png" alt="" />
</div>
<a name="add"></a>
<div class="scrollblock block-add">
<h2>add & commit</h2>
<p>
Puedes proponer cambios (agregarlos a el <b>Index</b>) usando<br />
<code>git add <filename></code><br />
<code>git add *</code><br />
Este es el primer paso en el flujo de trabajo basico. Para en realidad hacer commit a estos cambios usa<br />
<code>git commit -m "Commit message"</code><br />
Ahora el archivo esta incluido en el <b>HEAD</b>, pero no aun en tu repositorio remoto.
</p>
</div>
<a name="push"></a>
<div class="scrollblock block-remote">
<h2>envio de cambios</h2>
<p>
Tus cambios estan ahora en el <b>HEAD</b> de tu copia local. Para enviar esos cambios a tu repositorio remoto ejecuta <br />
<code>git push origin master</code><br />
Reemplaza <i>master</i> por la rama a la cual desees enviar tus cambios.
<br /><br />
Si no has clonado un repositorio existente y quieres conectar tu repositorio a un repositorio remoto, necesitas agregarlo con<br />
<code>git remote add origin <server></code><br />
Ahora puede subir tus cambios al repositorio remoto selecionado<br />
</p>
</div>
<a name="branching"></a>
<div class="scrollblock block-branching">
<h2>ramas</h2>
<p>
Las ramas son utilizadas para desarrollar funcionalidades aisladas unas de otras. La rama <i>master</i> es la rama por "defecto" cuando creas un repositorio. Usa otras ramas para el desarrollo y fusionalas de regreso a la rama principal al terminar.
</p>
<img src="img/branches.png" alt="" />
<p>
crea una nueva rama llamada "feature_x" y cambiate a ella usando<br />
<code>git checkout -b feature_x</code><br />
regresa a la rama principal<br />
<code>git checkout master</code><br />
y borra la rama<br />
<code>git branch -d feature_x</code><br />
una rama <i>no esta disponible para los demas</i> a menos que subas (push) la rama a tu repositorio remoto<br />
<code>git push origin <branch></code>
</p>
</div>
<a name="update"></a>
<div class="scrollblock block-merging">
<h2>actualiza & fusiona</h2>
<p>
para actualizar tu repositorio local al commit mas nuevo, ejecuta <br />
<code>git pull</code><br />
en tu directorio de trabajo <i>fetch</i> y <i>merge</i> cambios remotos.<br />
para fusionar otra rama a tu rama activa (por ejemplo master), utiliza<br />
<code>git merge <branch></code><br />
en ambos casos git intenta auto fusionar cambios. Desafortunadamente, esto no es posible todo el tiempo y resulta en <i>conflictos</i>.
Tu eres responsable de fusionar esos <i>conflictos</i>
manualmente al editar los archivos mostrados por git. Luego de modficarlos, necesitas marcarlos como fusionados con<br />
<code>git add <filename></code><br />
antes de fusionar cambios, tambien puedes dar un vistazo previo usando<br />
<code>git diff <source_branch> <target_branch></code>
</p>
</div>
<a name="tagging"></a>
<div class="scrollblock block-tagging">
<h2>etiquetas</h2>
<p>
es recomendado crear etiquetas para cada version publicada de un software. esto es un concepto conocido, el cual tambien existe en SVN. Puedes crear
una nueva etiqueta llamada <i>1.0.0</i> ejecutando<br />
<code>git tag 1.0.0 1b2e1d63ff</code><br />
el <i>1b2e1d63ff</i> se refiere a los 10 caracteres de el commit id al cual quieres referirte con tu etiqueta. Puedes obtener el commit id con <br />
<code>git log</code><br />
tambien puedes usar menos caracteres que el commit id, pero debe ser un valor unico.
</p>
</div>
<a name="checkout-replace"></a>
<div class="scrollblock block-checkout-replace">
<h2>reemplaza cambios locales</h2>
<p>
En caso de que hagas algo malo (que de seguro nunca pasa ;) puedes reemplazar cambios locales usando el comando<br />
<code>git checkout -- <filename></code><br />
esto reemplaza los cambios en tu arbol de trabajo con el ultimo contenido de HEAD. Los cambios que ya han sido agregados al indice, asi como tambien
nuevos archivos, se mantendran sin cambio.
</p>
<p>
Si por otro lado quieres deshacerte de todos los cambios locales y commits, puedes traer la ultima version del servidor y apuntar a tu copia local principal de esta forma<br />
<code>git fetch origin</code><br />
<code>git reset --hard origin/master</code>
</p>
</div>
<a name="hints"></a>
<div class="scrollblock block-hints">
<h2>datos utiles</h2>
<p>
Interfaz grafica por defecto<br />
<code>gitk</code><br />
colores especiales para la consola<br />
<code>git config color.ui true</code><br />
mostrar solo una linea por cada commit en la traza<br />
<code>git config format.pretty oneline</code><br />
agregar archivos de forma interactiva<br />
<code>git add -i</code>
</p>
</div>
<a name="resources"></a>
<div class="scrollblock block-resources">
<h2>enlaces & recursos</h2>
<h3>clientes graficos</h3>
<p>
<ul>
<li><a href="http://gitx.laullon.com/">GitX (L) (OSX, open source)</a></li>
<li><a href="http://www.git-tower.com/">Tower (OSX)</a></li>
<li><a href="http://www.sourcetreeapp.com/">Source Tree (OSX, free)</a></li>
<li><a href="http://mac.github.com/">GitHub for Mac (OSX, free)</a></li>
</ul>
</p>
<h3>guias</h3>
<p>
<ul>
<li><a href="http://book.git-scm.com/">Git Community Book</a></li>
<li><a href="http://progit.org/book/">Pro Git</a></li>
<li><a href="http://think-like-a-git.net/">Think like a git</a></li>
<li><a href="http://help.github.com/">GitHub Help</a></li>
<li><a href="http://marklodato.github.com/visual-git-guide/index-en.html">A Visual Git Guide</a></li>
</ul>
</p>
</div>
<a name="comments"></a>
<div class="scrollblock block-comments">
<h2>comentarios</h2>
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'git-the-simple-guide'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Por favor habilita Javascript para ver los <a href="http://disqus.com/?ref_noscript">comentarios - powered by Disqus.</a></noscript>
</div>
<a href="http://www.git-tower.com/?source=rd" onClick="recordOutboundLink(this, 'Outbound Links', 'git-tower.com');return false;" class="tower"></a>
<a href="files/git_cheat_sheet.pdf" onClick="recordOutboundLink(this, 'Cheat Sheet', 'git-guide');return false;" class="cheatsheet"></a>
</body>
</html>