mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 15:24:09 +03:00
commit
d3519b2269
@ -11,7 +11,7 @@ lang: es-es
|
||||
---
|
||||
|
||||
Git es un sistema de control de versiones distribuido diseñado para manejar
|
||||
cualquier tipo de proyecto, ya sea largo o pequeño, con velocidad y eficiencia.
|
||||
cualquier tipo de proyecto, ya sea grande o pequeño, con velocidad y eficiencia.
|
||||
|
||||
Git realiza esto haciendo "snapshots" del proyecto, con ello permite
|
||||
versionar y administrar nuestro código fuente.
|
||||
@ -36,8 +36,8 @@ uno o varios archivos, a lo largo del tiempo.
|
||||
### Por qué usar Git?
|
||||
|
||||
* Se puede trabajar sin conexion.
|
||||
* Colaborar con otros es sencillo!.
|
||||
* Derivar, Crear ramas del proyecto (aka: Branching) es fácil!.
|
||||
* ¡Colaborar con otros es sencillo!.
|
||||
* Derivar, crear ramas del proyecto (aka: Branching) es fácil.
|
||||
* Combinar (aka: Merging)
|
||||
* Git es rápido.
|
||||
* Git es flexible.
|
||||
@ -48,7 +48,7 @@ uno o varios archivos, a lo largo del tiempo.
|
||||
|
||||
Un repositorio es un conjunto de archivos, directorios, registros, cambios (aka:
|
||||
comits), y encabezados (aka: heads). Imagina que un repositorio es una clase,
|
||||
y que sus atributos otorgan acceso al historial del elemento, además de otras
|
||||
y que sus atributos otorgan acceso al historial del elemento, además de otras
|
||||
cosas.
|
||||
|
||||
Un repositorio esta compuesto por la carpeta .git y un "árbol de trabajo".
|
||||
@ -68,13 +68,13 @@ las veces se le llama "directorio de trabajo".
|
||||
### Índice (componentes del directorio .git)
|
||||
|
||||
El índice es el área de inicio en git. Es basicamente la capa que separa el
|
||||
directorio de trabajo, del repositorio en git. Esto otorga a los desarrolladores
|
||||
mas poder sobre lo que envía y recibe en el repositorio.
|
||||
directorio de trabajo del repositorio en git. Esto otorga a los desarrolladores
|
||||
más poder sobre lo que se envía y se recibe del repositorio.
|
||||
|
||||
### Commit (aka: cambios)
|
||||
|
||||
Un commit es una captura de un conjunto de cambios, o modificaciones hechas en
|
||||
el directorio de trabajo. Por ejemplo, si se añaden 5 archivos, se remueven 2,
|
||||
el directorio de trabajo. Por ejemplo, si se añaden 5 archivos, se eliminan 2,
|
||||
estos cambios se almacenarán en un commit (aka: captura). Este commit puede ser o
|
||||
no ser enviado (aka: "pusheado") hacia un repositorio.
|
||||
|
||||
@ -84,7 +84,7 @@ Un "branch", es escencialmente un apuntador hacia el último commit (cambio
|
||||
registrado) que se ha realizado. A medida que se realizan más commits, este
|
||||
apuntador se actualizará automaticamente hacia el ultimo commit.
|
||||
|
||||
### "HEAD" y "head" (component of .git dir)
|
||||
### "HEAD" y "head" (componentes del directorio .git)
|
||||
|
||||
"HEAD" es un apuntador hacia la rama (branch) que se esta utilizando. Un
|
||||
repositorio solo puede tener un HEAD activo. En cambio "head", es un apuntador a
|
||||
@ -115,7 +115,7 @@ Se utiliza para configurar las opciones ya sea globalmente, o solamente en el
|
||||
repositorio.
|
||||
|
||||
```bash
|
||||
# Imprime y guarda algunas variables de configuracion basicas. (Globalmente)
|
||||
# Imprime y guarda algunas variables de configuracion básicas. (Globalmente)
|
||||
$ git config --global user.email
|
||||
$ git config --global user.name
|
||||
|
||||
@ -123,7 +123,7 @@ $ git config --global user.email "corre@gmail.com"
|
||||
$ git config --global user.name "nombre"
|
||||
```
|
||||
|
||||
[Mas sobre git config.](http://git-scm.com/book/es/Personalizando-Git-Configuración-de-Git)
|
||||
[Más sobre git config.](http://git-scm.com/book/es/Personalizando-Git-Configuración-de-Git)
|
||||
|
||||
### help
|
||||
|
||||
@ -131,7 +131,7 @@ Otorga un accceso rápido a una guía extremadamente detallada de cada comando e
|
||||
git. O puede ser usada simplemente como un recordatorio de estos.
|
||||
|
||||
```bash
|
||||
# Una vista rapido de los comandos disponibles.
|
||||
# Una vista rápida de los comandos disponibles.
|
||||
$ git help
|
||||
|
||||
# Chequear todos los comandos disponibles
|
||||
@ -151,7 +151,7 @@ HEAD actualmente.
|
||||
|
||||
|
||||
```bash
|
||||
# Mostrara el "branch", archivos sin añadir a la repo, cambios y otras
|
||||
# Mostrará el "branch", archivos sin añadir al repo, cambios y otras
|
||||
# diferencias
|
||||
$ git status
|
||||
|
||||
@ -161,8 +161,8 @@ $ git help status
|
||||
|
||||
### add
|
||||
|
||||
Para añadir archivos al arbol (directorio, repositorio) de trabajo. Si no se
|
||||
utiliza `git add`, los nuevos archivos no se añadiran al arbol de trabajo, por
|
||||
Para añadir archivos al árbol (directorio, repositorio) de trabajo. Si no se
|
||||
utiliza `git add`, los nuevos archivos no se añadirán al arbol de trabajo, por
|
||||
lo que no se incluirán en los commits (cambios).
|
||||
|
||||
```bash
|
||||
@ -178,24 +178,24 @@ $ git add ./*.py
|
||||
|
||||
### branch
|
||||
|
||||
Administra las ramas del repositorios ("branches"). Puedes ver, editar, crear y
|
||||
Administra las ramas del repositorio ("branches"). Puedes ver, editar, crear y
|
||||
borrar ramas ("branches"), usando este comando.
|
||||
|
||||
```bash
|
||||
# lista todas las ramas (remotas y locales)
|
||||
$ git branch -a
|
||||
|
||||
# Añada una nueva rama ("branch").
|
||||
# Añadir una nueva rama ("branch").
|
||||
$ git branch branchNueva
|
||||
|
||||
# Eliminar una rama.
|
||||
$ git branch -d branchFoo
|
||||
|
||||
# Renombra una rama.
|
||||
# Renombrar una rama.
|
||||
# git branch -m <anterior> <nuevo>
|
||||
$ git branch -m youngling padawan
|
||||
|
||||
# Edita la descripcion de la rama.
|
||||
# Editar la descripcion de la rama.
|
||||
$ git branch master --edit-description
|
||||
```
|
||||
|
||||
@ -230,7 +230,6 @@ Almacena el contenido actual del índice en un nuevo "commit". Este
|
||||
commit contiene los cambios hechos más un resumen proporcionado por el desarrollador.
|
||||
|
||||
```bash
|
||||
# commit with a message
|
||||
# realizar un commit y añadirle un mensaje.
|
||||
$ git commit -m "jedi anakin wil be - jedis.list"
|
||||
```
|
||||
@ -241,13 +240,13 @@ Muestra las diferencias entre un archivo en el directorio de trabajo, el índice
|
||||
y los commits.
|
||||
|
||||
```bash
|
||||
# Muestra la diferencia entre un directorio de trabajo y el indice.
|
||||
# Muestra la diferencia entre un directorio de trabajo y el índice.
|
||||
$ git diff
|
||||
|
||||
# Muestra la diferencia entre el indice y los commits mas recientes.
|
||||
# Muestra la diferencia entre el índice y los commits más recientes.
|
||||
$ git diff --cached
|
||||
|
||||
# Muestra la diferencia entre el directorio de trabajo y el commit mas reciente.
|
||||
# Muestra la diferencia entre el directorio de trabajo y el commit más reciente.
|
||||
$ git diff HEAD
|
||||
```
|
||||
|
||||
@ -255,31 +254,32 @@ $ git diff HEAD
|
||||
|
||||
Permite realizar una busqueda rápida en un repositorio.
|
||||
|
||||
Configuracion opcionales:
|
||||
Configuraciones opcionales:
|
||||
|
||||
```bash
|
||||
# Gracias a Travis Jeffery por compartir lo siguiente.
|
||||
# Permite mostrar numeros de lineas en la salida de grep.
|
||||
$ git config --global grep.lineNumber true
|
||||
|
||||
# Realiza una busqueda mas lejible, incluyendo agrupacion.
|
||||
# Realiza una búsqueda mas legible, incluyendo agrupación.
|
||||
$ git config --global alias.g "grep --break --heading --line-number"
|
||||
```
|
||||
|
||||
```bash
|
||||
# Busca por "unaVariable" en todos los archivos ,java
|
||||
# Busca por "unaVariable" en todos los archivos .java
|
||||
$ git grep 'unaVariable' -- '*.java'
|
||||
|
||||
# Busca por una linea que contenga "nombreArreglo" y , "agregar" o "remover"
|
||||
# Busca por una línea que contenga "nombreArreglo" y "agregar" o "remover"
|
||||
$ git grep -e 'nombreArreglo' --and \( -e agregar -e remover \)
|
||||
```
|
||||
|
||||
Mas ejemplos:
|
||||
[Git Grep Ninja](http://travisjeffery.com/b/2012/02/search-a-git-repo-like-a-ninja)
|
||||
Más ejemplos:
|
||||
|
||||
- [Git Grep Ninja](http://travisjeffery.com/b/2012/02/search-a-git-repo-like-a-ninja)
|
||||
|
||||
### log
|
||||
|
||||
Muestra los commits (cambios) registrados en el repositotrio.
|
||||
Muestra los commits (cambios) registrados en el repositorio.
|
||||
|
||||
```bash
|
||||
# Muestra todos los commits.
|
||||
@ -288,7 +288,7 @@ $ git log
|
||||
# Muestra un numero x de commits.
|
||||
$ git log -n 10
|
||||
|
||||
# Muestra solo los commits que se han combinado en el hisotrial
|
||||
# Muestra solo los commits que se han combinado en el historial.
|
||||
$ git log --merges
|
||||
```
|
||||
|
||||
@ -301,7 +301,7 @@ que se trabaja.
|
||||
# Combina la rama especificada en la rama actual.
|
||||
$ git merge jediMaster
|
||||
|
||||
# Siempre genere un solo merge commit cuando se utilizar merge.
|
||||
# Siempre genere un solo merge commit cuando se utiliza merge.
|
||||
$ git merge --no-ff jediMaster
|
||||
```
|
||||
|
||||
@ -310,7 +310,7 @@ $ git merge --no-ff jediMaster
|
||||
Renombra o mueve un archivo
|
||||
|
||||
```bash
|
||||
# Renombrando un archivo
|
||||
# Renombrando un archivo.
|
||||
$ git mv HolaMundo.c AdiosMundo.c
|
||||
|
||||
# Moviendo un archivo.
|
||||
@ -322,33 +322,31 @@ $ git mv -f archivoA archivoB
|
||||
|
||||
### pull
|
||||
|
||||
Sube (Empuja) de un repositorio y lo combina en otro en una rama diferente.
|
||||
Trae los cambios de un repositorio y los combina en otro en una rama diferente.
|
||||
|
||||
```bash
|
||||
# Actualiza el repositorio local, combinando los nuevos cambios.
|
||||
# Actualiza el repositorio local, combinando los nuevos cambios
|
||||
# de las ramas remotas "origin" y "master".
|
||||
# from the remote "origin" and "master" branch.
|
||||
# git pull <remota> <rama>
|
||||
$ git pull origin master
|
||||
```
|
||||
|
||||
### push
|
||||
|
||||
Push and merge changes from a branch to a remote & branch.
|
||||
Envía y combina los cambios de un repositorio local a un repositorio y rama remotos.
|
||||
|
||||
```bash
|
||||
# Push and merge changes from a local repo to a
|
||||
# Empuja y combina cambios de un repositorio local hacian un repositorio remoto
|
||||
# Envía y combina cambios de un repositorio local hacia un repositorio remoto
|
||||
# llamados "origin" y "master", respectivamente.
|
||||
# git push <remota> <rama>
|
||||
# git push => por defecto es lo mismo que poner => git push origin master
|
||||
$ git push origin master
|
||||
```
|
||||
|
||||
### rebase
|
||||
|
||||
Toma todos los cambios que fueron registrados en una rama, y los repite dentro
|
||||
de otra rama.
|
||||
*No reescribe los commits que se han empujado antes a un repositorio publico*
|
||||
de otra rama. *No reescribe los commits que se han empujado antes a un repositorio público.*
|
||||
|
||||
```bash
|
||||
# Integrar ramaExperimento dentro de la rama "master"
|
||||
@ -356,47 +354,47 @@ de otra rama.
|
||||
$ git rebase master experimentBranch
|
||||
```
|
||||
|
||||
[Informacion adicional.](http://git-scm.com/book/es/Ramificaciones-en-Git-Procedimientos-básicos-para-ramificar-y-fusionar)
|
||||
[Información adicional.](http://git-scm.com/book/es/Ramificaciones-en-Git-Procedimientos-básicos-para-ramificar-y-fusionar)
|
||||
|
||||
### reset (precaucion)
|
||||
### reset (precaución)
|
||||
|
||||
Reinicia el cabezal actual hacia un estado especificado. Esto permite desacer
|
||||
combinaciones (merges), pulls, commits, adds y mas. Es un comando util, pero
|
||||
tambien peligrosa si no se sabe lo que se hace.
|
||||
Reinicia el HEAD actual hacia un estado especificado. Esto permite deshacer
|
||||
combinaciones (merges), pulls, commits, adds y más. Es un comando útil, pero
|
||||
tambien peligroso si no se sabe lo que se hace.
|
||||
|
||||
```bash
|
||||
# Reinica el area principal, con el ultimo cambio registrado. (deja los
|
||||
# Reinicia el área principal, con el último cambio registrado. (deja los
|
||||
# directorios sin cambios)
|
||||
$ git reset
|
||||
|
||||
# Reinica el area principal, con el ultimo cambio registrado, y reescribe el
|
||||
# Reinicia el área principal, con el último cambio registrado, y reescribe el
|
||||
# directorio de trabajo.
|
||||
$ git reset --hard
|
||||
|
||||
# Mueve la rama actual hacia el commit especificado (no realiza cambios a los
|
||||
# directorios), todos los cambios aun existen el directorio.
|
||||
# directorios), todos los cambios aún existen el directorio.
|
||||
$ git reset 31f2bb1
|
||||
|
||||
# Mueve la rama actual devuelta a un commit especificado asi como el
|
||||
# directorios (borra todos los cambios que no fueron registros y todos los
|
||||
# cambios realizados despues del commit especificado).
|
||||
# Mueve la rama actual devuelta a un commit especificado, así como el
|
||||
# directorio (borra todos los cambios que no fueron registrados y todos los
|
||||
# cambios realizados después del commit especificado).
|
||||
$ git reset --hard 31f2bb1
|
||||
```
|
||||
|
||||
### rm
|
||||
|
||||
Lo contrario de git add, git rm remueve los archivos del directorio de trabajo
|
||||
Lo contrario de git add, git rm elimina los archivos del directorio de trabajo
|
||||
actual.
|
||||
|
||||
```bash
|
||||
# Remueve FooBar.c
|
||||
# Elimina FooBar.c
|
||||
$ git rm FooBar.c
|
||||
|
||||
# Remueve un archivo de un directorio.
|
||||
# Elimina un archivo de un directorio.
|
||||
$ git rm /directorio/del/archivo/FooBar.c
|
||||
```
|
||||
|
||||
## Informacion Adicional
|
||||
## Información Adicional
|
||||
|
||||
* [tryGit - Una forma entretenida y rapida de aprender Git.](http://try.github.io/levels/1/challenges/1)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user