-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathcomandos_git.txt
222 lines (123 loc) · 11 KB
/
comandos_git.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
____________________________________________INICIANDO GIT POR PRIMERA VEZ_______________________________________________
git init -> se ejecuta el inicio de git para crar el repositorio en la carpeta donde se ejecuto
git status -> verifica el estado del proyecto en la rama actual
git add <archivo/carpeta> -> agrega al staged/RAM los archivos o directorios que seran trackeados por git
git add . -> agrega todos los archivos y carpetas a staged/RAM
git rm --cached <archivo> -> elimina el archivo almacenado en la momoria RAM/staged
git commit -m "comentario" -> envia los archivo añadidos a la base de datos de git
"En caso de omitir el comentario git dispara el editor vim para agregar un comentario"
"tienes que hacer el comentario y guardas con (Esc + Shif + z + z) o ( (Ctrl + X) + Y)"
git commit -am "comentario"-> agrega y envia los cambios a un archivo que previamente ha sido trackeado por git
git log <archivo> -> muestra la historia de cambios del archivo
git log -> muestra la historia de cambios de todo el proyecto
"si es la primera vez interactuando con git toca configurarlo"
____________________________________________________CONFIGURANDO GIT ___________________________________________________
git config -> aqui podras enconctrar todas las configuraciones de git
git config --list -> podras ver la configuracion por defecto y las configuraciones faltantes en git
git config --list --show-origin -> para ver donde estan guardadas las configuraciones de git (solo para casos avanzados)
git config --global user.name "nombre" -> hace un cambio global al nombre del usuario
git config --global user.email "correo" -> hace un cambio al correo del usuario
________________________________________________ANALIZANDO CAMBIOS EN GIT ______________________________________________
git show <archivo> -> muestra una comparacion de los cambios realizados al archivo
git log -> muestra la historia de cambios del proyecto y los id de los commits
git log --stat -> muestra los cambios especificos de los archivos
git diff <id del commit> <id del commit> -> muestra las diferencias entre los cambios
_____________________________________________________EL Ctrl Z DE GIT___________________________________________________
git reset <id del commit> --hard -> todo vuelve al estado anterior del <id del commit>
git reset <id del commit> --soft -> vuelve al estado anterior del <id del commit> pero mantiene lo que hay en staged/RAM
___________________________________________COMO VOLVER UNA VERSION ANTERIOR EN GIT______________________________________
git checkout <id del commit> <archivo> -> regresas la version del <id del commmit> del <archivo>
git checkout master <archivos> -> regresas a la version actual del archivo
________________________________________________________RAMAS EN GIT____________________________________________________
git branch <nombre de la rama> -> creas una nueva rama de trabajo
git branch -> muestra las ramas creadas y señala la rama en la que te encuentras
git checkout <nombre de la rama> -> te mueves a la rama de trabajo
git checkout master -> regresas a la rama principal
git merge <rama a fusionar> -> fusiona la rama actual con la rama que se le indique
_______________________________________________INTEGRANDO Git CON GitHub (HTML)_________________________________________
git remote add <origin> <URL> -> Agrega un origen remoto de nuestros archivos
git remote -> Muestra nuestros origenes remotos
git remote -v -> Muestra nuestros origenes remotos con las direcciones del repositorio
git pull <origin> <master> -> Trae los cambios de GitHub al repositorio de Git
git pull <origin> <master> --allow-unrelated-histories -> trae los cambios de GitHub y fuerza la intergracion con Git
git push <origin> <master> -> Empuja los cambios de Git al repositorio en Github
__________________________________CREACION DE UNA LLAVE PUBLICA Y UNA LLAVE PRIVADA (SSH)_______________________________
ssh-keygen -t rsa -b 4096 -C "tu@email.com" -> Crea la llave "-t" indica el algoritmo (rsa) "-b" la complejidad (4096)
Linux y Windows:
eval $(ssh-agent -s) -> Enciende el servidor de llaves
ssh-add <ruta de la llave id_rsa privada> -> Agrega la llave al servidor
Mac:
eval "$(ssh-agent -s)" -> Enciende el servidor de llaves
ssh-add -K <ruta de la llave id_rsa privada>-> Agrega la llave al servidor
"si no existe el archivo config se crea de la siguiente manera"
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile <ruta de la llave id_rsa privada>
________________________________________________INTEGRANDO Git CON GitHub (SSH)_________________________________________
git remote add <origin> <SSH> -> Agrega un origen remoto de nuestros archivos
git remote set-url <origin> <SSH>-> Cambia la direccion del origen remoto
git remote -> Muestra nuestros origenes remotos
git remote -v -> Muestra nuestros origenes remotos con las direcciones del repositorio
git pull <origin> <master> -> Trae los cambios de GitHub al repositorio de Git
git pull <origin> <master> --allow-unrelated-histories -> trae los cambios de GitHub y fuerza la intergracion con Git
git push <origin> <master> -> Empuja los cambios de Git al repositorio en Github
____________________________________________ANALIZANDO CAMBIOS MAS PROFUNDOS EN GIT_____________________________________
git log -> muestra la historia de cambios del proyecto y los id de los commits
git log --all -> muestra los todos los cambios sin excepcion
git log --all --graph -> muestras los cambios de forma grafica como un arbol de cambios
git log --all --graph --decorate --oneline -> muestras los cambios de forma grafica de forma comprimida
git log --oneline -> muestra la hsitoria de los cambios de forma comprimida
alias <tu comando especial> "comando largo"-> crea un nuevo comendo creado por ti para no escribir comados largos
___________________________________________________________TAGS EN GIT__________________________________________________
git tag -> muestra los tags creados asta el momento
git tag -a <nombre del tag> -m "mensaje" <id del commit> -> agrega un nuevo tag
git show-ref --tags -> muestra los detalles del tag
git push <origin> --tags -> envia los tags al repositorio en internet
git tag -d <nombre del tag> -> elimina de la base de datos del Git el tag
git push <origin> :refs/tags/<nombre del tag> -> elimina el tag del repositorio solo si esta eliminado en Git
_____________________________________________________ENVIAR RAMAS AL SERVIDOR___________________________________________
git show-branch -> muestra la historia de las ramas
git show-branch --all -> muestra la historia de la ramas de una forma mas completa
gitk -> muestra todo de forma visual en teoria deberia estar instalado por defecto
git push <origin> <nombre de la rama> -> envia la rama al repositorio
git pull <origin> <nombre de la rama> -> actualiza la rama
_____________________________________________________CLONAR REPOCITORIO GITHUB__________________________________________
git clone <URL> -> clona el repositorio
____________________________________________________REORGANIZAR REPOSITORIO LOCAL_______________________________________
git rebase <rama master> -> mezcla las historias de la rama actual con la master (tambien se debe hacer en master)
git add <archivo> -> para agregar un cambio o solucion de conflicto
git rebase --continue -> una vez resuelto el conflicto continua con el rebase
git rebase --skip -> omite el commit
git branch -D <rama> -> elimina la rama
________________________________________________________ALMACENAMIENTO TEMPORAL_________________________________________
git stash -> almacena de manera temporal un cambio para ser restablecer o eliminar en otra rama
git stash list -> muestra una lista de los cambios aguardados en el stash
git stash pop -> integra los cambios aguardados en el stash
git stash drop -> elimina lo almacenado en el stash
git stash branch <nueva rama> -> crea una nueva rama para aplicar los cambios
______________________________________________________________LIMPIAR GIT_______________________________________________
git clean --dry-run -> crea un borrador de los archivos que se van a eliminar
git clean -f -> borra los archivos he ignora aquellos que esten dentro del .gitignore
git clean -df -> borra las carpetas
________________________________________________FUSIONAR UN COMMIT ESPECIFICO A UNA RAMA________________________________
git cherry-pick <id del commit copiado de una rama> -> fusiona el commit de una rama en la rama en donde te encuentras
_________________________________________________________RE-CONSTRUIR UN COMMIT_________________________________________
git add <archivo> -> agregar los cambios al staged/RAM
git commit --amend -> pega el commit al commit anterior
_____________________________________MOSTRAR TODA LA HISTORIA INCLUSO SI ESTA FUE BORRADA______________________________
git reflog -> muestra toda la historia de todo incluso si fue borrada
git reset --hard <id del commit> -> vuelvas a como si no hubiera pasado nada
git switch -c <nombre de la rama>-> hace una rama en sin cambios (usado por si eliminaste esa rama)
_________________________________________________BUSQUEDA EN ARCHIVOS Y EN RAMAS________________________________________
git grep <palabra> -> encuentra la palabra en lugares donde esta
git grep -n <palabra> -> encuentra la palabra y en que lineas fuero usadas
git grep -c <palabra> -> cuenta cuantas veces fue usada la palabra
git log -S <palabra> -> encuentra la palabra usada durante la historia del proyecto
__________________________________________________CONTROL DE LOS COLABORADORES__________________________________________
git shortlog -> muestra quien hice que cambios
git shortlog -sn -> muestra cuantos commits han hecho los colaboradores
git shortlog -sn --all -> muestra cuantos commits han hecho colaboradores incluso lo que ya no estan
git shortlog -sn --all --no-marges -> muestra solos nos commits no los marges
git blame <archivo> -> muestra que se hizo y quien hizo el cambio
git blame <archivo> -L<numero>,<numero> -> muestra los cambios de esas lineas y quien las hizo