Difference between revisions of "Git, lo Básico"
Line 61: | Line 61: | ||
:Se ha marcado el archivo para agregarlo al próximo commit. | :Se ha marcado el archivo para agregarlo al próximo commit. | ||
===¿Cómo saber el estado de los archivos? | ===¿Cómo saber el estado de los archivos?=== | ||
Para saber el estado de los archivos existen dos comandos posibles: <code>git status</code> y <code>git diff</code>. | Para saber el estado de los archivos existen dos comandos posibles: <code>git status</code> y <code>git diff</code>. | ||
====git status==== | ===='''git status'''==== | ||
Muestra información del estado de los archivos que han cambiado. Puede mostrar archivos '''untracked''', '''staged''' y '''modified'''. No muestra información de archivos que no han cambiado desde el último '''commit'''. | Muestra información del estado de los archivos que han cambiado. Puede mostrar archivos '''untracked''', '''staged''' y '''modified'''. No muestra información de archivos que no han cambiado desde el último '''commit'''. | ||
====='''git status''': Ejemplo sin cambios===== | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
git status # Ejecución comando | |||
# On branch master | |||
nothing to commit (working directory clean) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 74: | Line 78: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
====git diff==== | ===='''git diff'''==== | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> |
Revision as of 14:24, 11 November 2013
Instalar Git
Instalación (fuentes)
Git se puede instalar desde diferentes fuentes, esta es la oficial. Desde ahí se pueden descargar los comandos y clientes gráficos.
Además hay más programas en Internet que se pueden usar para trabajar con Git. Por ejemplo NetBeans lo soporta.
Nota: Es posible que Git ya esté instalado en el sistema. Si se reinstala podría causar algún conflicto. Revisar si está instalado, si la función instalada es suficiente no hacer nada, sino buscar la forma de instalar la versión deseada.
Configuración
Antes de empezar a usar Git se configuran algunas variables para el uso de un usuario. Estas variables se usan para guardar en los repositorios información de quien hace el commit y configurar cosas como el editor a usar. Quedan almacenadas en uno de tres directorios, ordenados por relevancia siendo más relevante el último:
/etc/gitconfig
contiene configuración para todos los usuarios del sistema en todos los repositorios~/.gitconfig
contiene configuración para el usuario actual.git/config
contiene configuración para el repositorio en el que se está trabajando actualmente
Configuración Personal
Esta información se usa a la hora de hacer commits.
git config --global user.name "John Flat" # Setea el nombre del usuario
git config --global user.email john.flat@empresa.com # Setea el mail del usuario
Configuración Ambiente de Trabajo
git config --global core.editor emacs # Setea el editor por defecto
git config --global merge.tool vimdiff # Setea el visualizador de diferencias
Revisar configuraciones
git config --list # Lista todas las configuraciones, pueden repetirse si se repiten en varios archivos de configuración
git config {key} # Muestra el valor de una variable en específico
git config user.name # Muestra el valor del nombre de usuario guardado en la configuración
Comandos de Ayuda
Tres formas de obtener ayuda sobre un <verb> (verbo), es decir una acción de Git:
git help <verb>
git <verb> --help
man git-<verb>
Ejemplo de ayuda
git help config
git config --help
man git-config
Los estados de archivos en Git
Definición de los Estados
Los archivos adentro de una carpeta que usa Git pueden estar tracked o no, esto significa que están asociados al control de versión o no. Los archivos tracked pueden estar en uno de tres estados:
- Commited ("Comprometido")
- El archivos ya quedó guardado en la base de datos local.
- Modified (Modificado)
- El archivo se ha modificado pero no se ha commited (comprometido) aún.
- Staged ("En Escenario")
- Se ha marcado el archivo para agregarlo al próximo commit.
¿Cómo saber el estado de los archivos?
Para saber el estado de los archivos existen dos comandos posibles: git status
y git diff
.
git status
Muestra información del estado de los archivos que han cambiado. Puede mostrar archivos untracked, staged y modified. No muestra información de archivos que no han cambiado desde el último commit.
git status: Ejemplo sin cambios
git status # Ejecución comando
# On branch master
nothing to commit (working directory clean)
git diff
Un flujo común de Git
- Se obtiene el proyecto desde un directorio de git
- Se modifican archivos
- Se preparan para el commit, se hacen staged
- Se hace el commit
Crear Repositorios
Formas de hacer que un proyecto tenga manejo de versiones usando Git. Todas las formas incluyen un directorio .git que guarda la información de versiones.
Empezar un proyecto con Git
Se crea un directorio nuevo, se navega hacia él y se inicializa Git.
mkdir nuevoProyecto # Crear nuevo directorio
cd nuevoProyecto # Navegar a directorio
git init # Inicializar Git
touch x # Crea un archivo "x" vacío
git add x # Se pasa "x" al staging area, es decir, se prepara para el commit
git commit -m 'Commit inicial, solo un archivo en blanco' # Se hace el commit y queda guardado localmente
Agregar Git a un proyecto existente
Se navega al directorio donde está el proyecto exitente y se inicializa Git.
cd proyectoExistente # Se navega al proyecto existente
git init # Inicializar Git
git add archivoExistente # Se pasa "archivoExistente" al staging area, es decir, se prepara para el commit
git commit -m 'Commit inicial, se agrega archivo existente' # Se hace el commit y queda guardado localmente
Obtener un proyecto desde una fuente existente
Se obtiene una copia del repositorio y se guarda en una carpeta con el nombre del repositorio.
git clone [url] # Forma genérica
git clone /path/to/repository # Obtener copia localmente
git clone username@host:/path/to/repository # Obtener copia remotamente