-
Notifications
You must be signed in to change notification settings - Fork 27
/
resumen-estudio.txt
393 lines (243 loc) · 15.5 KB
/
resumen-estudio.txt
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
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# CONFIGURACIÓN CUANDO COMIENZO UN PROYECTO CON GIT
- Siempre al empezar un proyecto primero inspeccionó los elementos
con el comando:
ls
![ls](/images/ls.png)
en consola vamos a escribir:
**cd Desktop**
con este comando podemos ver todo lo que esta en el escritorio de nuestra
computadora
**cd namefolder**
- con este comando me ubico en la carpeta del proyecto en la cual voy a trabajar
## configurar git
Para configurar nuestro git lo primero que tenemos que hacer, revisar si realmente tenemos instalado git en nuestra computadora
**git —version**
este comando nos muestra la versión de nuestro git
git version 2.20.1
**git config —global user.name “Volta”**
con este comando configuramos nuestro user name para conectar con github
**git config —global user.email “[email protected]**
con este comando configuramos nuestro user email para conectar con github
**git config --global --list**
con este comando puedes el nombre y email que está configurado con tu
github
**git help**
comando para ver el listado de comando de git, estos se muestran con una breve descripción la cual detalla para qué sirve cada comando
## Resumen de comando
$ git --version
$ git config --global user.name "TU NOMBRE"
$ git config --global user.email "TU CORREO DE GITHUB"
$ git config --global --list
$ git help
- Siempre al empezar un proyecto primero primero inspecciono los elementos con:
ls
- Luego: cd Desktop, me ubico en la carpeta del proyecto en la cual voy a trabajar
- puedo inicializar un repositorio con **git init** para luego configurar y conectar nuestro repositorio local con github
**clear**
es un comando para ir borrando todo el historial de acciones de nuestra consola
## Editores de código
- Atom
- Sublime text
- Vs code
## Commit
Una vez comienzo a editar el codigo con “sublime o atom”
Aplico el comando
**git status**
para ver que cambio hay en el stage, en que archivo.
**git add “nombre del archivo"**
puedo preparar un archivo parar el stage
**git commit –m “cambios de footer”**
Puedo crear un commit que es un historial al cual podemos pasarle
mensajes especifico para así ubicarnos en el tiempo.
**git commit “nombre del archivo” —amend**
puedo renombrar un último commit
## Resumen
1. git init -> crea el repositorio en local que es un directorio .git que contiene todo el historial de nuestros cambios
2. git status -> sirve para ver que está en el stage y que no
3. git add [archivos] -> stagin area, va a preparar lo que será el commit
4. git add -A -> lista todos los archivos para el commit (agrega todos los archivos de golpe) 5. git commit –m "nombre commit" -> crea el commit y queda agregado al historial del repositorio
6. git config --list puedo ver un listado
## log - historial de commit
**git log**
![git log](/images/gitlg.png)
nos muestra el listado de commit con su respectiva fecha y autor
## Comandos para borrar o retroceder en el historial
Antes de pasar a este tema vamos a pasar a unos conceptos de git que son claves para entender cómo trabajamos con.
- Directorio Git -> El directorio Git (ubicado en RUTA-DE-TU-PROYECTO/.git/) es donde Git almacena todo lo que necesita para hacer un seguimiento preciso del proyecto.
- Directorio de trabajo (o árbol de trabajo) -> El directorio de trabajo es donde un usuario realiza cambios locales en un proyecto. El directorio de trabajo descarga los archivos del proyecto de la base de datos de objetos del directorio Git y los coloca en la máquina local del usuario.
Nota: Directorio también se conoce como repositorio o en forma abreviada repo. El repo en la máquina local del usuario se llama "Repo local" mientras que el repo en el servidor git se llama "Repo remoto".
- Zona de "staging" -> La zona de "staging" es un archivo (también llamado "index", "stage" o "cache") que almacena información sobre lo que irá en tu próximo commit. Un commit es cuando le dices a Git que guarde estos cambios staged. Git toma una instantánea de los archivos tal y como están y almacena permanentemente esa instantánea en el directorio Git.
- Con tres secciones, hay tres estados principales, en los que puede estar un archivo en un momento dado: modificado, commited, o staged. Tú modificas un archivo cada vez que se hacen cambios en el directorio de trabajo. Luego es staged cuando lo mueves al zona de "staging". Finalmente, es committed después de un commit.
**git reset**
Te permite REESTABLECER tu estado actual a un estado específico. Puedes restablecer el estado de archivos específicos, así como el de todo una rama. Esto es útil si aún no has subido tu commit a GitHub o a otro repositorio remoto.
**git reset —hard “mas el ID del commit"**
Restablece el índice y el árbol de trabajo. Cualquier cambio en los archivos rastreados en el árbol de trabajo desde el commit son descartados.
**git reset mix**
recopilo todos los commit y el e iguala el repositorio con el standing area
Y en ves de tener 3 commit creado recopila todo en 1
**git reset soft**
hace cambió solo en repositorio pero iguala el standing con el working siempre se trabaja con el commit base git rest commit directamente el mix hay preparar los archivos para los commit en soft están todos los archivos preparados para el comino
git checkout viaja en ele tiempo pegas el commit ID
## Unstage un archivo
Si has movido un archivo la zona de "staging" con git add, pero ya no quieres que forme parte del commit, puedes usar git reset para unstage ese archivo:
**git reset HEAD ARCHIVO-A-UNSTAGE**
Los cambios que has hecho seguirán estando en el archivo, este comando solo remueve el archivo de tu zona de "staging".
## Restablecer una rama a un commit anterior
El siguiente comando restablece el HEAD de tu rama actual al COMMIT dado y actualiza el índice. Básicamente rebobina el estado de su rama, luego todos los commits que hagas en adelante se escriben sobre todo lo que vino después del punto de reinicio. Si omites el MODE, el valor predeterminado es --mixed:
## git reset MODE COMMIT
Las opciones para MODE son:
--soft: no restablece el fichero índice o el árbol de trabajo, pero restablece HEAD para commit. Cambia todos los archivos a "Cambios a ser commited".
--mixed: restablece el índice, pero no el árbol de trabajo e informa de lo que no se ha actualizado.
--hard: restablece el índice y el árbol de trabajo. Cualquier cambio en los archivos rastreados en el árbol de trabajo desde el commit son descartados.
--merge: restablece el índice y actualiza los archivos en el árbol de trabajo que son diferentes entre el commit y HEAD, pero mantiene los que son diferentes entre el índice y el árbol de trabajo.
--keep: restablece las entradas del índice, actualiza los archivos en el árbol de trabajo que son diferentes entre commit y HEAD. Sin un archivo que es diferente entre commit y HEAD tiene cambios locales, el reinicio se aborta.
Nota importante sobre los Hard Resets
Ten mucho cuidado usando la opción --hard con git reset, ya que restablece tu commit, zona de "staging" y tu directorio de trabajo. Si esta opción no se utiliza correctamente, se puede acabar perdiendo el código escrito.
Git Revert
Ambos comandos git revert y git reset, deshacen commits anteriores. Pero si ya has subido tu commit a un repositorio remoto, se recomienda que no uses git reset, ya que reescribe el historial de commits. Esto puede hacer que trabajar en un repositorio con otros desarrolladores y mantener un historial consistente de commits sea muy difícil.
En su lugar es mejor usar git revert, que deshace los cambios realizados por un commit anterior creando un commit completamente nuevo, todo esto sin alterar el historial de commits.
Revert un commit o un grupo de commits
El siguiente comando te permite revertir los cambios de un commit o varios commits anteriores y crear un nuevo commit.
git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>…
git revert --continue
git revert --quit
git revert --abort
Opciones comunes:
-e
--edit
## git log comandos
- git log -> te permite ver el nombre del la carpeta del proyecto el autor la fecha de commit y más
Variantes de comando de git log
-git log online -> te muestra el “sin detalles el commit id con el titulo”
-git log decorate -> te muestra en qué punto estas con head
-git log —online —graph -> muestro los movimiento y ramas en un gráfico
-git log —stat -> numero de linea que se editaron, cuales fueron los cambios a nivel de archivo
-git log -p -> muestra los cambios y cuáles fueron los cambios a nivel de código
- git shortlog -> puedes ver en que está trabajando cada desarrollador muestra los commit
los siguientes comandos muestra comandos en la consola:
- git log —prety=format
log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
## CLASE GIT HUB 2
Aplicamos los siguientes comandos ya explicados
- cd Desktop , luego ls , cd platzigit-master, ls vemos los archivos.
git status
git add -A , agregar todos los archivos
git commit -m “0” agrega todos los archivos
git log para ver los commit
git super log
**git checkout -b experimental**
comando para crear ramas y entrar en ellas
## PARA AGREGAR COMMIT RESUMEN
Iteración básica es para agregar archivos
archivo 1.txt
git add -A
git commit -m “1”
archivo 2.txt
git add -A
git commit -m “2”
archivo 3.txt
git add -A
git commit -m “3”
## RAMAS -----
para crear una rama
**git branch “nombre de la rama”**
crear ramas y moverse en ellas
**git checkout -b “experimental”**
git log para ver las commit ramas y features del master
HEAD ES LA ubicación donde uno esta en el historial de git.
**git merge**
Para fusionar ramas
**git merge experimental**
Va a fusionar la rama experimental pero quiero que le coloques un nombre.
PULSAR LA TECLA O, UNA VEZ COLOCAS EL NOMBRE ESC :X QUE ES CERRAR Y GUARDAR
PARA VER COMMIT
Luego
git log
para rectificación de commit de estar seguro y que sea el ultimo
si quieres renombrar un commit, puedes usar el siguiente comando
**git commit -am “descripción cambiada”**
“Como borrar las ramas”
**git branch -d experimental**
> git merge -> crea un nuevo commit con los cambios de las ramas que estás fusionando.
> git rebase -> se "trae" los cambios de la otra rama (Master) y los fusiona con los suyos.
git branch “para ver las ramas”
## git rebase
El comando de fusión mediante cambio de base también se ha explicado en las páginas Configuración de un repositorio y Reescritura del historial.
## ¿Qué es git rebase?
La reorganización es el proceso de mover o combinar una secuencia de confirmaciones en una nueva confirmación base. La reorganización es muy útil y se visualiza fácilmente en el contexto de un flujo de trabajo de ramas de funciones. El proceso general se puede visualizar de la siguiente manera:
![rbase](/images/rebase.png)
Desde una perspectiva del contenido, la reorganización consiste en cambiar la base de tu rama de una confirmación a otra haciendo que parezca que has creado la rama desde una confirmación diferente. Internamente, Git lo hace creando nuevas confirmaciones y aplicándolas a la base especificada. Es muy importante entender que, aunque la rama parece la misma, se compone de nuevas confirmaciones por completo.
## Uso
El motivo principal por el que llevar a cabo una fusión mediante cambio de base es para mantener un historial del proyecto lineal. Por ejemplo, piensa en una situación en la que la rama principal haya progresado desde que empezaste a trabajar en una rama de función. Quieres incorporar las últimas actualizaciones de la rama principal a tu rama de función, pero quieres mantener el historial de la rama limpio para que parezca que has estado trabajando a partir de la rama principal más reciente. Esto proporciona el beneficio posterior de una fusión limpia de la rama de función de nuevo a la rama principal. ¿Por qué queremos mantener un "historial limpio"? Los beneficios de tener un historial limpio se vuelven evidentes cuando se realizan operaciones de Git para investigar la introducción de una regresión. Una situación más realista sería la siguiente:
- Se identifica un error en la rama principal. Una función que funcionaba perfectamente ahora falla.
- Un desarrollador examina el historial de la rama principal usando git log. Dado que el historial está "limpio", el desarrollador puede deducir rápidamente qué ha ocurrido en el historial del proyecto.
- El desarrollador no puede identificar mediante git log cuándo se introdujo el error, por lo que ejecuta un comando git bisect.
Dado que el historial de Git está limpio, git bisect tiene un conjunto perfeccionado de confirmaciones para comparar cuando se busca la regresión. El desarrollador encuentra rápidamente la confirmación que introdujo el error y puede actuar en consecuencia.
- Encontrarás más información sobre git log y git bisect en sus respectivas páginas individuales, en las que se explica como usarlos.
REINICIAR PROJECT
Entrar a las carpetas ocultas ls -la
git guarda el proyecto en una carpeta y el registro lo tiene una carpeta llamada
.git Con el siguiente comando puedes eliminarla:
rm - rf
ls -la para ver todo el repositorio
**git merge**
“para la fusión” decidir con qué título queda o modificación
Despues comentas interacción básica fusión ejecutada
se puede hacer un **reset --hard**
al inicio del proyecto o commit inicial sin tener el id del commit de esta forma:
git fetch origin
git reset --hard origin/master
\*\* REBASE
En las fusiones se crea un solo commit
En rebase pasa esto : a - b se colocan antes del commit de master
Por ejemplo si vuelvo mi ejemplo a git checkout master vuelven deprecar los commit de la rama del rebase a - b.
Vuelves atrás “porque master esta en el commit con nombre "cuarto" como subirlo:
git merge rama rebase
Rama rebase va acompañado de merge se va atacando de varias formas , cuando trabajas con rebase tienen que hacer “merge”
**git merge rama rebase**
LA RAMA POR DEFECTO en git es master
Css https://www.nigbox.com/cursos/css-basico-desde-cero/#/
PARA CLONAR cd ubico Desktop
git clone y el link en HTTPS.
git clone https://github.com/github/gemoji.git
LLAVE SSH RSA COMO ALGORITMO
$ ssh-keygen -t rsa -b 4096 -C "[email de GitHub]"
Dar enter. Aceptar la localización por defecto.
Contraseña.
$ cd ~/.ssh
$ cat id_rsa.pub
Copiamos la llave y la pegamos en Settings > SSH, dentro de GitHub.
Resumen
ssh-keygen -t rsa -b 4096 -C "poner aquí correo electrónico"
cat id_rsa.pub
Pegas el código y vuelvo al escritorio
## WORK GITHUB
Creo la carpeta mkdri nombre carpeta
Entro a la carpeta con cd
git init
Agrego el primer archivo: touch 1.txt
git remote add origin “nombre del repositorio remoto"
git add -A
git commit "name commit"
git push origin master
PROCESO DE REPOSITORIOS “FORKED”
Pasos en orden
Crear ó entrar a la carpeta del proyecto cd
git init
git remote add origin [HTTPS ó SSH del proyecto forked]
git remote add upstream [HTTPS ó SSH del proyecto principal]
git fetch upstream
git merge origin/upstream “como conectamos la rama del repositorio original”
git fetch origin
git merge origin/master
Hacer cambios en local
git fetch upstream. “Ramas escondidas“
git merge origin/upstream
git push origin master
(miguelnieva)[http://git.miguelnieva.com/#/273]
TESTING
Travis-ci.org
(Travis-ci.org)[https://trello.com/b/EceUgtCL/ghost-roadmap]
Issues y Milestones de Github
## REPOSITORIO DE ESTUDIOS GIT 2022 UPDATE
[resumen-de-estudios](https://github.com/volta2016/git2021)