Navegación
PlanetaLibro
Autores
Temas
Audiolibros
Kindle
Blog
Productos
Login
Buscar
Pro Git
Pro Git
🎯 ¿Cansado de los anuncios?
Elimínalos ahora 🚀
Agregar a mi biblioteca
Indice
Tapa
Licence
Prefacio por Scott Chacon
Prefacio por Ben Straub
Dedicatorias
Contribuidores
Introducción
Inicio - Sobre el Control de Versiones
Acerca del Control de Versiones
Sistemas de Control de Versiones Locales
Sistemas de Control de Versiones Centralizados
Una breve historia de Git
Sistemas de Control de Versiones Distribuidos
Fundamentos de Git
Copias instantáneas, no diferencias
Casi todas las operaciones son locales
Git tiene integridad
Git generalmente solo añade información
Los Tres Estados
La Línea de Comandos
Instalación de Git
Instalación en Linux
Instalación en Mac
Instalación a partir del Código Fuente
Configurando Git por primera vez
Tu Identidad
Comprobando tu Configuración
¿Cómo obtener ayuda?
Fundamentos de Git
Obteniendo un repositorio Git
Inicializando un repositorio en un directorio existente
Clonando un repositorio existente
Guardando cambios en el Repositorio
Revisando el Estado de tus Archivos
Rastrear Archivos Nuevos
Preparar Archivos Modificados
Estado Abreviado
Ignorar Archivos
Ver los Cambios Preparados y No Preparados
Git Diff como Herramienta Externa
Confirmar tus Cambios
Saltar el Área de Preparación
Eliminar Archivos
Cambiar el Nombre de los Archivos
Ver el Historial de Confirmaciones
Limitar la Salida del Historial
Deshacer Cosas
Deshacer un Archivo Preparado
Deshacer un Archivo Modificado
Trabajar con Remotos
Ver Tus Remotos
Añadir Repositorios Remotos
Traer y Combinar Remotos
Enviar a Tus Remotos
Inspeccionar un Remoto
Etiquetado
Eliminar y Renombrar Remotos
Crear Etiquetas
Etiquetas Ligeras
Etiquetado Tardío
Compartir Etiquetas
Alias de Git
Sacar una Etiqueta
Resumen
Ramificaciones en Git
¿Qué es una rama?
Crear una Rama Nueva
Cambiar de Rama
Saltar entre ramas cambia archivos en tu directorio de trabajo
Procedimientos Básicos para Ramificar y Fusionar
Procedimientos Básicos de Ramificación
Procedimientos Básicos de Fusión
Principales Conflictos que Pueden Surgir en las Fusiones
Gestión de Ramas
Flujos de Trabajo Ramificados
Ramas de Largo Recorrido
Ramas Puntuales
Ramas Remotas
“origin” no es especial
Publicar
No escribas tu contraseña todo el tiempo
Hacer Seguimiento a las Ramas
Atajo al upstream
Traer y Fusionar
Reorganizar el Trabajo Realizado
Eliminar Ramas Remotas
Algunas Reorganizaciones Interesantes
Los Peligros de Reorganizar
Reorganizar una Reorganización
Reorganizar vs. Fusionar
Recapitulación
Git en el Servidor
Los Protocolos
Local Protocol
Ventajas
Protocolos HTTP
HTTP Inteligente
HTTP Tonto
Ventajas
El Protocolo SSH
Inconvenientes
Ventajas
Desventajas
El protocolo Git
Ventajas
Configurando Git en un servidor
Desventajas
Colocando un Repositorio Vacío en un Servidor
Pequeñas configuraciones
Acceso SSH
Generando tu clave pública SSH
Configurando el servidor
El demonio Git
HTTP Inteligente
GitWeb
GitLab
Instalación
Administración
Usuarios
Grupos
Proyectos
Uso básico
Enganches (hooks)
Trabajando con GitLab
Git en un alojamiento externo
Resumen
Git en entornos distribuidos
Flujos de trabajo distribuidos
Flujos de trabajo centralizado
Flujo de Trabajo Administrador-Integración
Flujo de Trabajo Dictador-Tenientes
Resumen de Flujos de Trabajo
Contribuyendo a un Proyecto
Pautas de confirmación
Pequeño equipo privado
Equipo privado administrado
Proyecto público bifurcado
Proyecto público a través de correo electrónico
Resumen
Manteniendo un proyecto
Trabajando en ramas puntuales
Aplicando parches recibidos por e-mail
Aplicando un parche con apply
Aplicando un parche con am
Recuperando ramas remotas
Decidiendo qué introducir
Integrando el trabajo de los colaboradores
Integrando flujos de trabajo
Flujos de trabajo con grandes integraciones
Flujos de trabajo reorganizando o entresacando
Rerere
Etiquetando tus versiones
Generando un número de compilación
Preparando una versión
El registro resumido
Resumen
GitHub
Cambios en la interfaz
Creación y configuración de la cuenta
Acceso SSH
Tu icono
Autentificación de dos pasos
Participando en Proyectos
Bifurcación (fork) de proyectos
El Flujo de Trabajo en GitHub
Creación del Pull Request
Evolución del Pull Request
No solo forks
Pull Requests Avanzados
Pull Requests como parches
Manteniéndonos actualizados
Referencias
Markdown
El formato Markdown de GitHub
Mantenimiento de un proyecto
Creación de un repositorio
Añadir colaboradores
Gestión de los Pull Requests
Notificaciones por correo electrónico
Colaboración en el Pull Request
Referencias de Pull Request
Pull Requests sobre Pull Requests
Menciones y notificaciones
Página de notificaciones
Archivos especiales
Administración del proyecto
Cambiar la rama predeterminada
Gestión de una organización
Conceptos básicos
Equipos
Scripting en GitHub
Auditorías
Enganches
Servicios
Hooks (enganches)
La API de GitHub
Comentarios en una incidencia
Cambio de estado de un Pull Request
Resumen
Octokit
Herramientas de Git
Revisión por selección
Revisiones individuales
UNA BREVE NOTA RESPECTO A SHA-1
Referencias por rama
Nombres cortos de RefLog
Referencias por ancestros
Rangos de Commits
Dos puntos
Múltiples puntos
Tres puntos
Organización interactiva
Organizar y desorganziar archivos
Parches de organización
Guardado rápido y Limpieza
Guardando rápido tu trabajo
Guardado rápido creativo
Creando una Rama desde un Guardado Rápido
Limpiando tu Directorio de Trabajo
Firmando tu trabajo
Introducción a GPG
Firmando Tags
Verficando Tags
Firmando Commits
Buscando
Todos deben firmar
Git Grep
Búsqueda de Registro de Git
Búsqueda de Registro de Línea
Reescribiendo la Historia
Cambiando la última confirmación
Cambiando la confirmación de múltiples mensajes
Reordenando Confirmaciones
Unir confirmaciones
Dividiendo una confirmación
La opción nuclear: filtrar-ramificar
Remover un archivo de cada confirmación
Hacer que un subdirectorio sea la nueva raíz
Cambiar la dirección de e-mail globalmente
Reiniciar Desmitificado
Los Tres Árboles
El HEAD
El Índice
El Flujo de Trabajo
El Directorio de Trabajo
El Papel del Reinicio
Paso 1: mover HEAD
Paso 2: Actualizando el índice (--mixed)
Resumen
Reiniciar Con una Ruta
Aplastando
Echale Un vistazo
Sin Rutas
Con Rutas
Resumen
Fusión Avanzada
Conflictos de Fusión
Abortar una Fusión
Ignorando el Espacio en Blanco
Re-fusión Manual de Archivos
Revisando Los Conflictos
Registro de Fusión
Formato Diff Combinado
Deshaciendo Fusiones
Solucionar las referencias
Revertir el compromiso
Otros Tipos de Fusiones
Nuestra o Su preferencia
Convergencia de Subárbol
Rerere
Haciendo debug con Git
Anotaciones de archivo
Búsqueda binaria
Submódulos
Comenzando con los Submódulos
Clonación de un Proyecto con Submódulos
Trabajando en un Proyecto con Submódulos
Llegada de los Cambios de Upstream
Trabajando en un Submódulo
Publicando Cambios de Submódulo
Fusionando Cambios de Submódulo
Consejos de Submódulo
Submódulo Foreach
Problemas con los Submódulos
Alias Útiles
Agrupaciones
Replace
Almacenamiento de credenciales
Bajo el sombrero
Un cache de credenciales personalizado
Resumen
Personalización de Git
Configuración de Git
Configuración básica del cliente
core.editor
commit.template
core.pager
core.excludesfile
Colores en Git
color.ui
color.*
Herramientas externas para fusión y diferencias
Formateo y espacios en blanco
core.autocrlf
core.whitespace
Configuración del servidor
receive.fsckObjects
receive.denyNonFastForwards
Git Attributes
receive.denyDeletes
Archivos binarios
Identificación de archivos binarios
Comparación entre archivos binarios
Expansión de palabras clave
Exportación del repositorio
export-ignore
export-subst
Estrategias de fusión (merge)
Puntos de enganche en Git
Instalación de un punto de enganche
Puntos en el flujo de trabajo de confirmación de cambios
Puntos en el flujo de trabajo del correo electrónico
Otros puntos de enganche del lado cliente
Puntos de enganche del lado servidor
pre-receive
update
post-receive
Un ejemplo de implantación de una determinada política en Git
Punto de enganche en el lado servidor
Obligando a utilizar un formato específico en el mensaje de commit
Implementando un sistema de listas de control de acceso (ACL)
Comprobación
Puntos de enganche del lado cliente
Recapitulación
Git y Otros Sistemas
Git como Cliente
Git y Subversion
git svn
Empezando
Comprometerse con la subversión
Tirando hacia nuevos cambios
Problemas de Git Branching
Ramificación en Subversion
Creando una nueva rama de SVN
Comandos de Subversion
Resumen de Git-Svn
Git y Mercurial
git-remote-hg
Empezando
Flujo de Trabajo
Branches(Ramas) y Bookmarks(Marcadores)
Git y Perforce
Resumen de Mercurial
Git Fusion
Git-p4
Git y TFS
Resumen de Git y Perforce
Cuál herramienta
Comenzando con: git-tf
Comenzando: git-tfs
Git-tf [s] Flujo de trabajo
Flujo de trabajo del: git-tf
Flujo de trabajo: git-tfs
Migración a Git
Resumen de Git y TFS
Subversión
Mercurial
Perforce
Perforce Git Fusion
TFS
Un proveedor individual
Resumen
Los entresijos internos de Git
Fontanería y porcelana
Los objetos Git
Objetos tipo árbol
Objetos de confirmación de cambios
Almacenamiento de los objetos
Referencias Git
La CABEZA (HEAD)
Etiquetas
Sitios remotos
Archivos empaquetadores
Las especificaciones para hacer referencia a… (refspec)
Enviando (push) referencias
Protocolos de transferencia
Borrando referencias
El protocolo tonto
El protocolo inteligente
Enviando datos (uploading)
Recibiendo datos (downloading)
Resumen
Mantenimiento y recuperación de datos
Mantenimiento
Recuperación de datos
Borrando objetos
Variables de entorno
Comportamiento Global
Ubicaciones del Repositorio
Especificaciones de Rutas de Acceso (pathspecs)
Confirmaciones (Committing)
Red
Diferencias y Fusiones
Depuración
Varios
Recapitulación
Git en otros entornos
Interfaces gráficas
gitk y git-gui
GitHub para Mac y Windows
Instalación
Flujo de trabajo recomendado
Resumen
Git en Visual Studio
Otras herramientas gráficas
Git en Eclipse
Git en Zsh
Git en Powershell
Resumen
Integrando Git en tus Aplicaciones
Git mediante Línea de Comandos
Libgit2
Funcionalidad Avanzada
Otros Vínculos (Bindings)
LibGit2Sharp
Otras Lecturas
objective-git
JGit
Getting Set Up
Fontanería
Porcelana
Otras Lecturas
Comandos de Git
Configuración
git config
git help
Obtener y Crear Proyectos
git init
git clone
Seguimiento Básico
git add
git status
git difftool
git reset
git rm
Ramificar y Fusionar
git clean
git merge
git mergetool
git stash
Compartir y Actualizar Proyectos
git fetch
git pull
git remote
Inspección y Comparación
git submodule
Depuración
git describe
Parcheo
git blame
git rebase
Correo Electrónico
git apply
git format-patch
Sistemas Externos
git svn
git fsck
Comandos de Fontanería
Lectores como tú también disfrutaron estos libros (Educación)
Cómo criar hijos y que no salgan imbéciles
Vuelvo a mí
Facundo
Fedro
Compartir en WhatsApp
🧠 Hacer Trivia
Descargar libro
Descargar audiolibros gratis
Comparte
esta página del libro con tus amigos
Lectores como tú también disfrutaron estos libros (Educación)
Cómo criar hijos y que no salgan imbéciles
Vuelvo a mí
Facundo
Fedro
🧠 Hacer Trivia
Descargar libro
Descargar audiolibros gratis