ℹ️ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.2 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Seguimiento-B%C3%A1sico |
| Last Crawled | 2026-04-13 11:21:55 (4 days ago) |
| First Indexed | 2024-09-24 17:51:01 (1 year ago) |
| HTTP Status Code | 200 |
| Meta Title | Git - Seguimiento Básico |
| Meta Description | null |
| Meta Canonical | null |
| Boilerpipe Text | Para el flujo de trabajo básico de la preparación de contenido y su confirmación a su historia, hay sólo unos pocos comandos básicos.
git add
El comando
git add
añade contenido del directorio de trabajo al área de ensayo (staging area o
'index
') para la próxima confirmación. Cuando se ejecuta el comando
git commit
, éste, de forma predeterminada, sólo mira en esta área de ensayo, por lo que
git add
se utiliza para fabricar exactamente lo que te gustaría fuese tu próxima instantánea a confirmar.
Este comando es un comando increíblemente importante en Git y se menciona o se utiliza docenas de veces en este libro. Vamos a cubrir rápidamente algunos de los usos únicos que se pueden encontrar.
Repasamos su uso para seguir de forma interactiva sólo partes específicas de un archivo modificado en
Organización interactiva
.
Por último, lo emulamos en un bajo nivel en
Objetos tipo árbol
, por lo que podemos tener una idea de lo que está haciendo detrás de escena.
git status
El comando
git status
te mostrará los diferentes estados de los archivos en tu directorio de trabajo y área de ensayo. Qué archivos están modificados y sin seguimiento y cuáles con seguimiento pero no confirmados aún. En su forma normal, también te mostrará algunos consejos básicos sobre cómo mover archivos entre estas etapas.
Primero cubrimos
status
en
Revisando el Estado de tus Archivos
, tanto en su forma básica como simplificada. Mientras lo utilizamos a lo largo del libro, prácticamente todo lo que puedes hacer con el comando
git status
está cubierto allí.
git diff
El comando
git diff
se utiliza cuando deseas ver las diferencias entre dos árboles. Esto prodría ser la diferencia entre tu entorno de trabajo y tu área de ensayo (
git diff
por sí mismo), entre tu área de ensayo y tu última confirmación o commit (
git diff --staged
), o entre dos confirmaciones (
git diff master branchB
).
En primer lugar, vemos el uso básico de
git diff
en
Ver los Cambios Preparados y No Preparados
, donde mostramos cómo ver que cambios tienen seguimiento y cuáles no tienen seguimiento aún.
Lo usamos para buscar posibles problemas con espacios en blanco antes de confirmar con la opción
--check
en
Pautas de confirmación
.
Vemos cómo comprobar las diferencias entre ramas de manera más eficaz con la sintaxis
git diff A...B
en
Decidiendo qué introducir
.
Lo usamos para filtrar diferencias en espacios en blanco con
-w
y como comparar diferentes etapas de archivos en conflicto con
--theirs
,
--ours
y
--base
en
Fusión Avanzada
.
Finalmente, lo usamos para realmente comparar cambios en submódulos con
--submodule
en
Comenzando con los Submódulos
.
git difftool
El comando
git difftool
simplemente lanza una herramienta externa para mostrar la diferencia entre dos árboles, en caso de que desees utilizar algo que no sea el comando`git diff` incorporado.
git commit
El comando
git commit
toma todos los contenidos de los archivos a los que se les realiza el seguimiento con
git add
y registra una nueva instantánea permanente en la base de datos y luego avanza el puntero de la rama en la rama actual.
En primer lugar, cubrimos los fundamentos en
Confirmar tus Cambios
. Allí también mostramos cómo utilizar el indicador
-a
para saltarse el paso
git add
en los flujos de trabajo diarios y cómo utilizar el indicador
-m
para pasar un mensaje de confirmación en la línea de comandos en lugar de lanzar un editor.
En
Deshacer Cosas
cubrimos el uso de la opción
--amend
para deshacer el commit más reciente.
En
¿Qué es una rama?
, entramos en mucho mayor detalle en lo que
git commit
hace y por qué lo hace así.
Consideramos como firmar criptográficamente commits con el indicador
-S
en
Firmando Commits
.
Finalmente, echamos un vistazo a lo que el comando
git commit
hace en segundo plano y cómo se implementa realmente en
Objetos de confirmación de cambios
.
git reset
El comando
git reset
se utiliza sobre todo para deshacer las cosas, como posiblemente puedes deducir por el verbo. Se mueve alrededor del puntero
HEAD
y opcionalmente cambia el
index
o área de ensayo y también puede cambiar opcionalmente el directorio de trabajo si se utiliza
--hard
. Esta última opción hace posible que este comando pueda perder tu trabajo si se usa incorrectamente, por lo que asegúrese de entenderlo antes de usarlo.
En primer lugar, cubrimos efectivamente el uso más simple de
git reset
en
Deshacer un Archivo Preparado
, donde lo usamos para dejar de hacer seguimiento (unstage) de un archivo sobre el que habíamos ejecutado
git add
.
A continuación, lo cubrimos con bastante detalle en
Reiniciar Desmitificado
, que está completamente dedicado a la explicación de este comando.
Utilizamos
git reset --hard
para abortar una fusión en
Abortar una Fusión
, donde también usamos
git merge --abort
, el cual es una especie de envoltorio para el comando
git reset
.
git rm
El comando
git rm
se utiliza para eliminar archivos del área de ensayo y el directorio de trabajo para Git. Es similar a
git add
en que pone en escena una eliminación de un archivo para la próxima confirmación.
Cubrimos el comando
git rm
con cierto detalle en
Eliminar Archivos
, incluyendo la eliminación de archivos de forma recursiva y sólo la eliminación de archivos desde el área de ensayo, pero dejándolos en el directorio de trabajo con
--cached
.
El único otro uso diferente de
git rm
en el libro está en
Borrando objetos
, donde utilizamos brevemente y explicamos el
--ignore-unmatch
al ejecutar
git filter-branch
, el cual simplemente hace que no salga un error cuando el archivo que estamos tratando de eliminar no existe. Esto puede ser útil para fines de scripting.
git mv
El comando
git mv
es un comando de conveniencia para mover un archivo y luego ejecutar
git add
en el nuevo archivo y
git rm
en el archivo antiguo.
git clean
El comando
git clean
se utiliza para eliminar archivos no deseados de tu directorio de trabajo. Esto podría incluir la eliminación de artefactos de construcción temporal o la fusión de archivos en conflicto. |
| Markdown | [](https://git-scm.com/) \--local-branching-on-the-cheap

- [About](https://git-scm.com/about)
- [Trademark](https://git-scm.com/about/trademark)
- [Learn](https://git-scm.com/learn)
- [Book](https://git-scm.com/book)
- [Cheat Sheet](https://git-scm.com/cheat-sheet)
- [Videos](https://git-scm.com/videos)
- [External Links](https://git-scm.com/doc/ext)
- [Tools](https://git-scm.com/tools)
- [Command Line](https://git-scm.com/tools/command-line)
- [GUIs](https://git-scm.com/tools/guis)
- [Hosting](https://git-scm.com/tools/hosting)
- [Reference](https://git-scm.com/docs)
- [Install](https://git-scm.com/install/linux)
- [Community](https://git-scm.com/community)
***
This book is available in [English](https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Basic-Snapshotting).
Full translation available in
| |
|---|
| [azərbaycan dili](https://git-scm.com/book/az/v2/Appendix-C:-Git-%C6%8Fmrl%C9%99ri-Sad%C9%99-Snapshotting), |
| [български език](https://git-scm.com/book/bg), |
| [Deutsch](https://git-scm.com/book/de/v2/Anhang-C:-Git-Kommandos-Einfache-Snapshot-Funktionen), |
| [Español](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Seguimiento-B%C3%A1sico), |
| [فارسی](https://git-scm.com/book/fa/v2/%D9%BE%DB%8C%D9%88%D8%B3%D8%AA-C:-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1%D8%A7%D8%AA-%DA%AF%DB%8C%D8%AA-Git-Commands-%D9%86%D9%85%D9%88%D9%86%D9%87%E2%80%8C%D8%A8%D8%B1%D8%AF%D8%A7%D8%B1%DB%8C-%D9%BE%D8%A7%DB%8C%D9%87%E2%80%8C%D8%A7%DB%8C-Basic-Snapshotting), |
| [Français](https://git-scm.com/book/fr/v2/Commandes-Git-Capture-d%E2%80%99instantan%C3%A9-basique), |
| [Ελληνικά](https://git-scm.com/book/gr/v2/Appendix-C:-%CE%95%CE%BD%CF%84%CE%BF%CE%BB%CE%AD%CF%82-Git-%CE%92%CE%B1%CF%83%CE%B9%CE%BA%CE%AE-%CE%BB%CE%AE%CF%88%CE%B7-%CF%83%CF%84%CE%B9%CE%B3%CE%BC%CE%B9%CE%BF%CF%84%CF%8D%CF%80%CF%89%CE%BD), |
| [日本語](https://git-scm.com/book/ja/v2/%E4%BB%98%E9%8C%B2-C:-Git%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E5%9F%BA%E6%9C%AC%E7%9A%84%E3%81%AA%E3%82%B9%E3%83%8A%E3%83%83%E3%83%97%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88), |
| [한국어](https://git-scm.com/book/ko/v2/%EB%B6%80%EB%A1%9D-C:-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%8A%A4%EB%83%85%EC%83%B7-%EB%8B%A4%EB%A3%A8%EA%B8%B0), |
| [Nederlands](https://git-scm.com/book/nl/v2/Bijlage-C:-Git-Commando%E2%80%99s-Basic-Snapshotten), |
| [Русский](https://git-scm.com/book/ru/v2/%D0%9F%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-C:-%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B-Git-%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B), |
| [Slovenščina](https://git-scm.com/book/sl/v2/Dodatek-C:-Ukazi-Git-Osnove-posnetkov), |
| [Српски](https://git-scm.com/book/sr/v2/%D0%94%D0%BE%D0%B4%D0%B0%D1%82%D0%B0%D0%BA-%D0%92:-%D0%93%D0%B8%D1%82-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B5-%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE-%D1%81%D0%BD%D0%B8%D0%BC%D0%B0%D1%9A%D0%B5), |
| [Svenska](https://git-scm.com/book/sv/v2/Bilaga-C:-Git-kommandon-Grundl%C3%A4ggande-%C3%B6gonblicksbilder), |
| [Tagalog](https://git-scm.com/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Pangunahing-Snapshotting), |
| [Türkçe](https://git-scm.com/book/tr/v2/Ek-b%C3%B6l%C3%BCm-C:-Git-Komutlar%C4%B1-K%C4%B1saca-Poz-Snapshot-Alma). |
| [Українська](https://git-scm.com/book/uk/v2/%D0%94%D0%BE%D0%B4%D0%B0%D1%82%D0%BE%D0%BA-C:-%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B8-Git-%D0%91%D0%B0%D0%B7%D0%BE%D0%B2%D0%B5-%D0%B7%D0%B1%D0%B5%D1%80%D0%B5%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D0%B2%D1%96%D0%B4%D0%B1%D0%B8%D1%82%D0%BA%D1%96%D0%B2), |
| [简体中文](https://git-scm.com/book/zh/v2/%E9%99%84%E5%BD%95-C:-Git-%E5%91%BD%E4%BB%A4-%E5%BF%AB%E7%85%A7%E5%9F%BA%E7%A1%80), |
Partial translations available in
| |
|---|
| [Čeština](https://git-scm.com/book/cs/v2/Appendix-C:-Git-Commands-Basic-Snapshotting), |
| [Македонски](https://git-scm.com/book/mk/v2/Appendix-C:-Git-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B8-Basic-Snapshotting), |
| [Polski](https://git-scm.com/book/pl/v2/Appendix-C:-Git-Commands-Basic-Snapshotting), |
| [Português (Brasil)](https://git-scm.com/book/pt-br/v2/Appendix-C:-Git-Commands-Basic-Snapshotting), |
| [Ўзбекча](https://git-scm.com/book/uz/v2/Appendix-C:-Git-Commands-Basic-Snapshotting), |
| [繁體中文](https://git-scm.com/book/zh-tw/v2/%E9%99%84%E9%8C%84-C:-Git-Commands-Basic-Snapshotting), |
Translations started for
| |
|---|
| [Беларуская](https://git-scm.com/book/be/v2/%D0%94%D0%B0%D0%B4%D0%B0%D1%82%D0%B0%D0%BA-C:-Git-Commands-Basic-Snapshotting), |
| [Indonesian](https://git-scm.com/book/id/v2/Appendix-C:-Git-Commands-Basic-Snapshotting), |
| [Italiano](https://git-scm.com/book/it/v2/Appendice-C:-Git-Commands-Basic-Snapshotting), |
| [Bahasa Melayu](https://git-scm.com/book/ms/v2/Appendix-C:-Git-Commands-Basic-Snapshotting), |
| [Português (Portugal)](https://git-scm.com/book/pt-pt/v2/Appendix-C:-Git-Commands-Basic-Snapshotting). |
***
The source of this book is [hosted on GitHub.](https://github.com/progit/progit2-es)
Patches, suggestions and comments are welcome.
[Chapters ▾](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Seguimiento-B%C3%A1sico)
1. ## 1\. [Inicio - Sobre el Control de Versiones](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Acerca-del-Control-de-Versiones)
1. 1\.1 [Acerca del Control de Versiones](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Acerca-del-Control-de-Versiones)
2. 1\.2 [Una breve historia de Git](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Una-breve-historia-de-Git)
3. 1\.3 [Fundamentos de Git](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Fundamentos-de-Git)
4. 1\.4 [La Línea de Comandos](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-La-L%C3%ADnea-de-Comandos)
5. 1\.5 [Instalación de Git](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Instalaci%C3%B3n-de-Git)
6. 1\.6 [Configurando Git por primera vez](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Configurando-Git-por-primera-vez)
7. 1\.7 [¿Cómo obtener ayuda?](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-%C2%BFC%C3%B3mo-obtener-ayuda%3F)
8. 1\.8 [Resumen](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Resumen)
2. ## 2\. [Fundamentos de Git](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Obteniendo-un-repositorio-Git)
1. 2\.1 [Obteniendo un repositorio Git](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Obteniendo-un-repositorio-Git)
2. 2\.2 [Guardando cambios en el Repositorio](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Guardando-cambios-en-el-Repositorio)
3. 2\.3 [Ver el Historial de Confirmaciones](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Ver-el-Historial-de-Confirmaciones)
4. 2\.4 [Deshacer Cosas](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Deshacer-Cosas)
5. 2\.5 [Trabajar con Remotos](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Trabajar-con-Remotos)
6. 2\.6 [Etiquetado](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Etiquetado)
7. 2\.7 [Alias de Git](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Alias-de-Git)
8. 2\.8 [Resumen](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Resumen)
3. ## 3\. [Ramificaciones en Git](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-%C2%BFQu%C3%A9-es-una-rama%3F)
1. 3\.1 [¿Qué es una rama?](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-%C2%BFQu%C3%A9-es-una-rama%3F)
2. 3\.2 [Procedimientos Básicos para Ramificar y Fusionar](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-Procedimientos-B%C3%A1sicos-para-Ramificar-y-Fusionar)
3. 3\.3 [Gestión de Ramas](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-Gesti%C3%B3n-de-Ramas)
4. 3\.4 [Flujos de Trabajo Ramificados](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-Flujos-de-Trabajo-Ramificados)
5. 3\.5 [Ramas Remotas](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-Ramas-Remotas)
6. 3\.6 [Reorganizar el Trabajo Realizado](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-Reorganizar-el-Trabajo-Realizado)
7. 3\.7 [Recapitulación](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-Recapitulaci%C3%B3n)
4. ## 4\. [Git en el Servidor](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Los-Protocolos)
1. 4\.1 [Los Protocolos](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Los-Protocolos)
2. 4\.2 [Configurando Git en un servidor](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Configurando-Git-en-un-servidor)
3. 4\.3 [Generando tu clave pública SSH](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Generando-tu-clave-p%C3%BAblica-SSH)
4. 4\.4 [Configurando el servidor](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Configurando-el-servidor)
5. 4\.5 [El demonio Git](https://git-scm.com/book/es/v2/Git-en-el-Servidor-El-demonio-Git)
6. 4\.6 [HTTP Inteligente](https://git-scm.com/book/es/v2/Git-en-el-Servidor-HTTP-Inteligente)
7. 4\.7 [GitWeb](https://git-scm.com/book/es/v2/Git-en-el-Servidor-GitWeb)
8. 4\.8 [GitLab](https://git-scm.com/book/es/v2/Git-en-el-Servidor-GitLab)
9. 4\.9 [Git en un alojamiento externo](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Git-en-un-alojamiento-externo)
10. 4\.10 [Resumen](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Resumen)
5. ## 5\. [Git en entornos distribuidos](https://git-scm.com/book/es/v2/Git-en-entornos-distribuidos-Flujos-de-trabajo-distribuidos)
1. 5\.1 [Flujos de trabajo distribuidos](https://git-scm.com/book/es/v2/Git-en-entornos-distribuidos-Flujos-de-trabajo-distribuidos)
2. 5\.2 [Contribuyendo a un Proyecto](https://git-scm.com/book/es/v2/Git-en-entornos-distribuidos-Contribuyendo-a-un-Proyecto)
3. 5\.3 [Manteniendo un proyecto](https://git-scm.com/book/es/v2/Git-en-entornos-distribuidos-Manteniendo-un-proyecto)
4. 5\.4 [Resumen](https://git-scm.com/book/es/v2/Git-en-entornos-distribuidos-Resumen)
1. ## 6\. [GitHub](https://git-scm.com/book/es/v2/GitHub-Creaci%C3%B3n-y-configuraci%C3%B3n-de-la-cuenta)
1. 6\.1 [Creación y configuración de la cuenta](https://git-scm.com/book/es/v2/GitHub-Creaci%C3%B3n-y-configuraci%C3%B3n-de-la-cuenta)
2. 6\.2 [Participando en Proyectos](https://git-scm.com/book/es/v2/GitHub-Participando-en-Proyectos)
3. 6\.3 [Mantenimiento de un proyecto](https://git-scm.com/book/es/v2/GitHub-Mantenimiento-de-un-proyecto)
4. 6\.4 [Gestión de una organización](https://git-scm.com/book/es/v2/GitHub-Gesti%C3%B3n-de-una-organizaci%C3%B3n)
5. 6\.5 [Scripting en GitHub](https://git-scm.com/book/es/v2/GitHub-Scripting-en-GitHub)
6. 6\.6 [Resumen](https://git-scm.com/book/es/v2/GitHub-Resumen)
2. ## 7\. [Herramientas de Git](https://git-scm.com/book/es/v2/Herramientas-de-Git-Revisi%C3%B3n-por-selecci%C3%B3n)
1. 7\.1 [Revisión por selección](https://git-scm.com/book/es/v2/Herramientas-de-Git-Revisi%C3%B3n-por-selecci%C3%B3n)
2. 7\.2 [Organización interactiva](https://git-scm.com/book/es/v2/Herramientas-de-Git-Organizaci%C3%B3n-interactiva)
3. 7\.3 [Guardado rápido y Limpieza](https://git-scm.com/book/es/v2/Herramientas-de-Git-Guardado-r%C3%A1pido-y-Limpieza)
4. 7\.4 [Firmando tu trabajo](https://git-scm.com/book/es/v2/Herramientas-de-Git-Firmando-tu-trabajo)
5. 7\.5 [Buscando](https://git-scm.com/book/es/v2/Herramientas-de-Git-Buscando)
6. 7\.6 [Reescribiendo la Historia](https://git-scm.com/book/es/v2/Herramientas-de-Git-Reescribiendo-la-Historia)
7. 7\.7 [Reiniciar Desmitificado](https://git-scm.com/book/es/v2/Herramientas-de-Git-Reiniciar-Desmitificado)
8. 7\.8 [Fusión Avanzada](https://git-scm.com/book/es/v2/Herramientas-de-Git-Fusi%C3%B3n-Avanzada)
9. 7\.9 [Rerere](https://git-scm.com/book/es/v2/Herramientas-de-Git-Rerere)
10. 7\.10 [Haciendo debug con Git](https://git-scm.com/book/es/v2/Herramientas-de-Git-Haciendo-debug-con-Git)
11. 7\.11 [Submódulos](https://git-scm.com/book/es/v2/Herramientas-de-Git-Subm%C3%B3dulos)
12. 7\.12 [Agrupaciones](https://git-scm.com/book/es/v2/Herramientas-de-Git-Agrupaciones)
13. 7\.13 [Replace](https://git-scm.com/book/es/v2/Herramientas-de-Git-Replace)
14. 7\.14 [Almacenamiento de credenciales](https://git-scm.com/book/es/v2/Herramientas-de-Git-Almacenamiento-de-credenciales)
15. 7\.15 [Resumen](https://git-scm.com/book/es/v2/Herramientas-de-Git-Resumen)
3. ## 8\. [Personalización de Git](https://git-scm.com/book/es/v2/Personalizaci%C3%B3n-de-Git-Configuraci%C3%B3n-de-Git)
1. 8\.1 [Configuración de Git](https://git-scm.com/book/es/v2/Personalizaci%C3%B3n-de-Git-Configuraci%C3%B3n-de-Git)
2. 8\.2 [Git Attributes](https://git-scm.com/book/es/v2/Personalizaci%C3%B3n-de-Git-Git-Attributes)
3. 8\.3 [Puntos de enganche en Git](https://git-scm.com/book/es/v2/Personalizaci%C3%B3n-de-Git-Puntos-de-enganche-en-Git)
4. 8\.4 [Un ejemplo de implantación de una determinada política en Git](https://git-scm.com/book/es/v2/Personalizaci%C3%B3n-de-Git-Un-ejemplo-de-implantaci%C3%B3n-de-una-determinada-pol%C3%ADtica-en-Git)
5. 8\.5 [Recapitulación](https://git-scm.com/book/es/v2/Personalizaci%C3%B3n-de-Git-Recapitulaci%C3%B3n)
4. ## 9\. [Git y Otros Sistemas](https://git-scm.com/book/es/v2/Git-y-Otros-Sistemas-Git-como-Cliente)
1. 9\.1 [Git como Cliente](https://git-scm.com/book/es/v2/Git-y-Otros-Sistemas-Git-como-Cliente)
2. 9\.2 [Migración a Git](https://git-scm.com/book/es/v2/Git-y-Otros-Sistemas-Migraci%C3%B3n-a-Git)
3. 9\.3 [Resumen](https://git-scm.com/book/es/v2/Git-y-Otros-Sistemas-Resumen)
5. ## 10\. [Los entresijos internos de Git](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Fontaner%C3%ADa-y-porcelana)
1. 10\.1 [Fontanería y porcelana](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Fontaner%C3%ADa-y-porcelana)
2. 10\.2 [Los objetos Git](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Los-objetos-Git)
3. 10\.3 [Referencias Git](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Referencias-Git)
4. 10\.4 [Archivos empaquetadores](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Archivos-empaquetadores)
5. 10\.5 [Las especificaciones para hacer referencia a… (refspec)](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Las-especificaciones-para-hacer-referencia-a%E2%80%A6%E2%80%8B-refspec)
6. 10\.6 [Protocolos de transferencia](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Protocolos-de-transferencia)
7. 10\.7 [Mantenimiento y recuperación de datos](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Mantenimiento-y-recuperaci%C3%B3n-de-datos)
8. 10\.8 [Variables de entorno](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Variables-de-entorno)
9. 10\.9 [Recapitulación](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Recapitulaci%C3%B3n)
1. ## A1. [Apéndice A: Git en otros entornos](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Interfaces-gr%C3%A1ficas)
1. A1.1 [Interfaces gráficas](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Interfaces-gr%C3%A1ficas)
2. A1.2 [Git en Visual Studio](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Git-en-Visual-Studio)
3. A1.3 [Git en Eclipse](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Git-en-Eclipse)
4. A1.4 [Git con Bash](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Git-con-Bash)
5. A1.5 [Git en Zsh](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Git-en-Zsh)
6. A1.6 [Git en Powershell](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Git-en-Powershell)
7. A1.7 [Resumen](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Resumen)
2. ## A2. [Apéndice B: Integrando Git en tus Aplicaciones](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-B:-Integrando-Git-en-tus-Aplicaciones-Git-mediante-L%C3%ADnea-de-Comandos)
1. A2.1 [Git mediante Línea de Comandos](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-B:-Integrando-Git-en-tus-Aplicaciones-Git-mediante-L%C3%ADnea-de-Comandos)
2. A2.2 [Libgit2](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-B:-Integrando-Git-en-tus-Aplicaciones-Libgit2)
3. A2.3 [JGit](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-B:-Integrando-Git-en-tus-Aplicaciones-JGit)
3. ## A3. [Apéndice C: Comandos de Git](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Configuraci%C3%B3n)
1. A3.1 [Configuración](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Configuraci%C3%B3n)
2. A3.2 [Obtener y Crear Proyectos](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Obtener-y-Crear-Proyectos)
3. A3.3 [Seguimiento Básico](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Seguimiento-B%C3%A1sico)
4. A3.4 [Ramificar y Fusionar](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Ramificar-y-Fusionar)
5. A3.5 [Compartir y Actualizar Proyectos](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Compartir-y-Actualizar-Proyectos)
6. A3.6 [Inspección y Comparación](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Inspecci%C3%B3n-y-Comparaci%C3%B3n)
7. A3.7 [Depuración](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Depuraci%C3%B3n)
8. A3.8 [Parcheo](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Parcheo)
9. A3.9 [Correo Electrónico](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Correo-Electr%C3%B3nico)
10. A3.10 [Sistemas Externos](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Sistemas-Externos)
11. A3.11 [Administración](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Administraci%C3%B3n)
12. A3.12 [Comandos de Fontanería](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Comandos-de-Fontaner%C3%ADa)
2nd Edition
# A3.3 Apéndice C: Comandos de Git - Seguimiento Básico
## Seguimiento Básico
Para el flujo de trabajo básico de la preparación de contenido y su confirmación a su historia, hay sólo unos pocos comandos básicos.
### git add
El comando `git add` añade contenido del directorio de trabajo al área de ensayo (staging area o *'index*') para la próxima confirmación. Cuando se ejecuta el comando `git commit`, éste, de forma predeterminada, sólo mira en esta área de ensayo, por lo que `git add` se utiliza para fabricar exactamente lo que te gustaría fuese tu próxima instantánea a confirmar.
Este comando es un comando increíblemente importante en Git y se menciona o se utiliza docenas de veces en este libro. Vamos a cubrir rápidamente algunos de los usos únicos que se pueden encontrar.
En primer lugar, introducimos y explicamos `git add` en detalle en [Rastrear Archivos Nuevos](https://git-scm.com/book/es/v2/ch00/r_tracking_files).
Mostramos como usarlo para resolver conflictos de fusión en [Principales Conflictos que Pueden Surgir en las Fusiones](https://git-scm.com/book/es/v2/ch00/r_basic_merge_conflicts).
Repasamos su uso para seguir de forma interactiva sólo partes específicas de un archivo modificado en [Organización interactiva](https://git-scm.com/book/es/v2/ch00/r_interactive_staging).
Por último, lo emulamos en un bajo nivel en [Objetos tipo árbol](https://git-scm.com/book/es/v2/ch00/r_tree_objects), por lo que podemos tener una idea de lo que está haciendo detrás de escena.
### git status
El comando `git status` te mostrará los diferentes estados de los archivos en tu directorio de trabajo y área de ensayo. Qué archivos están modificados y sin seguimiento y cuáles con seguimiento pero no confirmados aún. En su forma normal, también te mostrará algunos consejos básicos sobre cómo mover archivos entre estas etapas.
Primero cubrimos `status` en [Revisando el Estado de tus Archivos](https://git-scm.com/book/es/v2/ch00/r_checking_status), tanto en su forma básica como simplificada. Mientras lo utilizamos a lo largo del libro, prácticamente todo lo que puedes hacer con el comando `git status` está cubierto allí.
### git diff
El comando `git diff` se utiliza cuando deseas ver las diferencias entre dos árboles. Esto prodría ser la diferencia entre tu entorno de trabajo y tu área de ensayo (`git diff` por sí mismo), entre tu área de ensayo y tu última confirmación o commit (`git diff --staged`), o entre dos confirmaciones (`git diff master branchB`).
En primer lugar, vemos el uso básico de `git diff` en [Ver los Cambios Preparados y No Preparados](https://git-scm.com/book/es/v2/ch00/r_git_diff_staged), donde mostramos cómo ver que cambios tienen seguimiento y cuáles no tienen seguimiento aún.
Lo usamos para buscar posibles problemas con espacios en blanco antes de confirmar con la opción `--check` en [Pautas de confirmación](https://git-scm.com/book/es/v2/ch00/r_commit_guidelines).
Vemos cómo comprobar las diferencias entre ramas de manera más eficaz con la sintaxis `git diff A...B` en [Decidiendo qué introducir](https://git-scm.com/book/es/v2/ch00/r_what_is_introduced).
Lo usamos para filtrar diferencias en espacios en blanco con `-w` y como comparar diferentes etapas de archivos en conflicto con `--theirs`, `--ours` y `--base` en [Fusión Avanzada](https://git-scm.com/book/es/v2/ch00/r_advanced_merging).
Finalmente, lo usamos para realmente comparar cambios en submódulos con `--submodule` en [Comenzando con los Submódulos](https://git-scm.com/book/es/v2/ch00/r_starting_submodules).
### git difftool
El comando `git difftool` simplemente lanza una herramienta externa para mostrar la diferencia entre dos árboles, en caso de que desees utilizar algo que no sea el comando\`git diff\` incorporado.
Mencionamos sólo brevemente esto en [Ver los Cambios Preparados y No Preparados](https://git-scm.com/book/es/v2/ch00/r_git_diff_staged).
### git commit
El comando `git commit` toma todos los contenidos de los archivos a los que se les realiza el seguimiento con `git add` y registra una nueva instantánea permanente en la base de datos y luego avanza el puntero de la rama en la rama actual.
En primer lugar, cubrimos los fundamentos en [Confirmar tus Cambios](https://git-scm.com/book/es/v2/ch00/r_committing_changes). Allí también mostramos cómo utilizar el indicador `-a` para saltarse el paso `git add` en los flujos de trabajo diarios y cómo utilizar el indicador `-m` para pasar un mensaje de confirmación en la línea de comandos en lugar de lanzar un editor.
En [Deshacer Cosas](https://git-scm.com/book/es/v2/ch00/r_undoing) cubrimos el uso de la opción `--amend` para deshacer el commit más reciente.
En [¿Qué es una rama?](https://git-scm.com/book/es/v2/ch00/r_git_branches_overview), entramos en mucho mayor detalle en lo que `git commit` hace y por qué lo hace así.
Consideramos como firmar criptográficamente commits con el indicador `-S` en [Firmando Commits](https://git-scm.com/book/es/v2/ch00/r_signing_commits).
Finalmente, echamos un vistazo a lo que el comando `git commit` hace en segundo plano y cómo se implementa realmente en [Objetos de confirmación de cambios](https://git-scm.com/book/es/v2/ch00/r_git_commit_objects).
### git reset
El comando `git reset` se utiliza sobre todo para deshacer las cosas, como posiblemente puedes deducir por el verbo. Se mueve alrededor del puntero `HEAD` y opcionalmente cambia el `index` o área de ensayo y también puede cambiar opcionalmente el directorio de trabajo si se utiliza `--hard`. Esta última opción hace posible que este comando pueda perder tu trabajo si se usa incorrectamente, por lo que asegúrese de entenderlo antes de usarlo.
En primer lugar, cubrimos efectivamente el uso más simple de `git reset` en [Deshacer un Archivo Preparado](https://git-scm.com/book/es/v2/ch00/r_unstaging), donde lo usamos para dejar de hacer seguimiento (unstage) de un archivo sobre el que habíamos ejecutado `git add`.
A continuación, lo cubrimos con bastante detalle en [Reiniciar Desmitificado](https://git-scm.com/book/es/v2/ch00/r_git_reset), que está completamente dedicado a la explicación de este comando.
Utilizamos `git reset --hard` para abortar una fusión en [Abortar una Fusión](https://git-scm.com/book/es/v2/ch00/r_abort_merge), donde también usamos `git merge --abort`, el cual es una especie de envoltorio para el comando `git reset`.
### git rm
El comando `git rm` se utiliza para eliminar archivos del área de ensayo y el directorio de trabajo para Git. Es similar a `git add` en que pone en escena una eliminación de un archivo para la próxima confirmación.
Cubrimos el comando `git rm` con cierto detalle en [Eliminar Archivos](https://git-scm.com/book/es/v2/ch00/r_removing_files), incluyendo la eliminación de archivos de forma recursiva y sólo la eliminación de archivos desde el área de ensayo, pero dejándolos en el directorio de trabajo con `--cached`.
El único otro uso diferente de `git rm` en el libro está en [Borrando objetos](https://git-scm.com/book/es/v2/ch00/r_removing_objects), donde utilizamos brevemente y explicamos el `--ignore-unmatch` al ejecutar `git filter-branch`, el cual simplemente hace que no salga un error cuando el archivo que estamos tratando de eliminar no existe. Esto puede ser útil para fines de scripting.
### git mv
El comando `git mv` es un comando de conveniencia para mover un archivo y luego ejecutar `git add` en el nuevo archivo y `git rm` en el archivo antiguo.
Sólo mencionamos brevemente este comando en [Cambiar el Nombre de los Archivos](https://git-scm.com/book/es/v2/ch00/r_git_mv).
### git clean
El comando `git clean` se utiliza para eliminar archivos no deseados de tu directorio de trabajo. Esto podría incluir la eliminación de artefactos de construcción temporal o la fusión de archivos en conflicto.
Cubrimos muchas de las opciones y escenarios en los que es posible usar el comando clean en [Limpiando tu Directorio de Trabajo](https://git-scm.com/book/es/v2/ch00/r_git_clean).
[prev](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Obtener-y-Crear-Proyectos) \| [next](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Ramificar-y-Fusionar)
[About this site](https://git-scm.com/site)
Patches, suggestions, and comments are welcome.
Git is a member of [Software Freedom Conservancy](https://git-scm.com/sfc) |
| Readable Markdown | Para el flujo de trabajo básico de la preparación de contenido y su confirmación a su historia, hay sólo unos pocos comandos básicos.
### git add
El comando `git add` añade contenido del directorio de trabajo al área de ensayo (staging area o *'index*') para la próxima confirmación. Cuando se ejecuta el comando `git commit`, éste, de forma predeterminada, sólo mira en esta área de ensayo, por lo que `git add` se utiliza para fabricar exactamente lo que te gustaría fuese tu próxima instantánea a confirmar.
Este comando es un comando increíblemente importante en Git y se menciona o se utiliza docenas de veces en este libro. Vamos a cubrir rápidamente algunos de los usos únicos que se pueden encontrar.
Repasamos su uso para seguir de forma interactiva sólo partes específicas de un archivo modificado en [Organización interactiva](https://git-scm.com/book/es/v2/ch00/r_interactive_staging).
Por último, lo emulamos en un bajo nivel en [Objetos tipo árbol](https://git-scm.com/book/es/v2/ch00/r_tree_objects), por lo que podemos tener una idea de lo que está haciendo detrás de escena.
### git status
El comando `git status` te mostrará los diferentes estados de los archivos en tu directorio de trabajo y área de ensayo. Qué archivos están modificados y sin seguimiento y cuáles con seguimiento pero no confirmados aún. En su forma normal, también te mostrará algunos consejos básicos sobre cómo mover archivos entre estas etapas.
Primero cubrimos `status` en [Revisando el Estado de tus Archivos](https://git-scm.com/book/es/v2/ch00/r_checking_status), tanto en su forma básica como simplificada. Mientras lo utilizamos a lo largo del libro, prácticamente todo lo que puedes hacer con el comando `git status` está cubierto allí.
### git diff
El comando `git diff` se utiliza cuando deseas ver las diferencias entre dos árboles. Esto prodría ser la diferencia entre tu entorno de trabajo y tu área de ensayo (`git diff` por sí mismo), entre tu área de ensayo y tu última confirmación o commit (`git diff --staged`), o entre dos confirmaciones (`git diff master branchB`).
En primer lugar, vemos el uso básico de `git diff` en [Ver los Cambios Preparados y No Preparados](https://git-scm.com/book/es/v2/ch00/r_git_diff_staged), donde mostramos cómo ver que cambios tienen seguimiento y cuáles no tienen seguimiento aún.
Lo usamos para buscar posibles problemas con espacios en blanco antes de confirmar con la opción `--check` en [Pautas de confirmación](https://git-scm.com/book/es/v2/ch00/r_commit_guidelines).
Vemos cómo comprobar las diferencias entre ramas de manera más eficaz con la sintaxis `git diff A...B` en [Decidiendo qué introducir](https://git-scm.com/book/es/v2/ch00/r_what_is_introduced).
Lo usamos para filtrar diferencias en espacios en blanco con `-w` y como comparar diferentes etapas de archivos en conflicto con `--theirs`, `--ours` y `--base` en [Fusión Avanzada](https://git-scm.com/book/es/v2/ch00/r_advanced_merging).
Finalmente, lo usamos para realmente comparar cambios en submódulos con `--submodule` en [Comenzando con los Submódulos](https://git-scm.com/book/es/v2/ch00/r_starting_submodules).
### git difftool
El comando `git difftool` simplemente lanza una herramienta externa para mostrar la diferencia entre dos árboles, en caso de que desees utilizar algo que no sea el comando\`git diff\` incorporado.
### git commit
El comando `git commit` toma todos los contenidos de los archivos a los que se les realiza el seguimiento con `git add` y registra una nueva instantánea permanente en la base de datos y luego avanza el puntero de la rama en la rama actual.
En primer lugar, cubrimos los fundamentos en [Confirmar tus Cambios](https://git-scm.com/book/es/v2/ch00/r_committing_changes). Allí también mostramos cómo utilizar el indicador `-a` para saltarse el paso `git add` en los flujos de trabajo diarios y cómo utilizar el indicador `-m` para pasar un mensaje de confirmación en la línea de comandos en lugar de lanzar un editor.
En [Deshacer Cosas](https://git-scm.com/book/es/v2/ch00/r_undoing) cubrimos el uso de la opción `--amend` para deshacer el commit más reciente.
En [¿Qué es una rama?](https://git-scm.com/book/es/v2/ch00/r_git_branches_overview), entramos en mucho mayor detalle en lo que `git commit` hace y por qué lo hace así.
Consideramos como firmar criptográficamente commits con el indicador `-S` en [Firmando Commits](https://git-scm.com/book/es/v2/ch00/r_signing_commits).
Finalmente, echamos un vistazo a lo que el comando `git commit` hace en segundo plano y cómo se implementa realmente en [Objetos de confirmación de cambios](https://git-scm.com/book/es/v2/ch00/r_git_commit_objects).
### git reset
El comando `git reset` se utiliza sobre todo para deshacer las cosas, como posiblemente puedes deducir por el verbo. Se mueve alrededor del puntero `HEAD` y opcionalmente cambia el `index` o área de ensayo y también puede cambiar opcionalmente el directorio de trabajo si se utiliza `--hard`. Esta última opción hace posible que este comando pueda perder tu trabajo si se usa incorrectamente, por lo que asegúrese de entenderlo antes de usarlo.
En primer lugar, cubrimos efectivamente el uso más simple de `git reset` en [Deshacer un Archivo Preparado](https://git-scm.com/book/es/v2/ch00/r_unstaging), donde lo usamos para dejar de hacer seguimiento (unstage) de un archivo sobre el que habíamos ejecutado `git add`.
A continuación, lo cubrimos con bastante detalle en [Reiniciar Desmitificado](https://git-scm.com/book/es/v2/ch00/r_git_reset), que está completamente dedicado a la explicación de este comando.
Utilizamos `git reset --hard` para abortar una fusión en [Abortar una Fusión](https://git-scm.com/book/es/v2/ch00/r_abort_merge), donde también usamos `git merge --abort`, el cual es una especie de envoltorio para el comando `git reset`.
### git rm
El comando `git rm` se utiliza para eliminar archivos del área de ensayo y el directorio de trabajo para Git. Es similar a `git add` en que pone en escena una eliminación de un archivo para la próxima confirmación.
Cubrimos el comando `git rm` con cierto detalle en [Eliminar Archivos](https://git-scm.com/book/es/v2/ch00/r_removing_files), incluyendo la eliminación de archivos de forma recursiva y sólo la eliminación de archivos desde el área de ensayo, pero dejándolos en el directorio de trabajo con `--cached`.
El único otro uso diferente de `git rm` en el libro está en [Borrando objetos](https://git-scm.com/book/es/v2/ch00/r_removing_objects), donde utilizamos brevemente y explicamos el `--ignore-unmatch` al ejecutar `git filter-branch`, el cual simplemente hace que no salga un error cuando el archivo que estamos tratando de eliminar no existe. Esto puede ser útil para fines de scripting.
### git mv
El comando `git mv` es un comando de conveniencia para mover un archivo y luego ejecutar `git add` en el nuevo archivo y `git rm` en el archivo antiguo.
### git clean
El comando `git clean` se utiliza para eliminar archivos no deseados de tu directorio de trabajo. Esto podría incluir la eliminación de artefactos de construcción temporal o la fusión de archivos en conflicto. |
| Shard | 54 (laksa) |
| Root Hash | 7104038400628677254 |
| Unparsed URL | com,git-scm!/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Seguimiento-B%C3%A1sico s443 |