- 1. Git Config
- 2. Iniciando o Clonando un repositorio
- 3. Comandos Básicos
- 4. El archivo .gitignore
- 5. Trabajando con ramas
- 6. Deshaciendo y modificando commits
- 7. Commits Semánticos
- 8. Tags
- 9. Comandos Avanzados
- 10. Gita Aliases
- 11. Git Flow
Con este post inicio una serie de artículos sobre Git. El objetivo es crear una guía fácil y completa para aprender Git de manera sencilla y desde cero.
Si eres desarrollador de plugins y temas de WordPress, es más que imprescindible que trabajes con un control de versiones, y si ya lo haces, es bastante probable que sea Git. Git te permite gestionar el desarrollo y la evolución sobre un producto en un repositorio de código. También permite el desarrollo en equipo, donde cada miembro puede estar trabajando sobre una nueva Feature, corrigiendo un Hot Fix, etc…
Hace un tiempo, en una charla sobre el tema con unos compañeros, surgió la idea de que mucha gente que empieza a utilizarlo, suele empezar mal. Bien porque no recibe una correcta formación, bien porque se aprende los 4 comandos básicos y con eso tira pa’lante.
Esta serie de posts está orientada a cómo me hubiera gustado aprender git, una visión más completa para sacarle partido desde la primera toma de contacto, es decir, vamos a ver un poco más en detalle qué podemos hacer, más allá del add, commit y push.
Git Config
Comencemos por la configuración. Git dispone de una herramienta llamada git config, que te permite establecer variables de configuración que controlan su aspecto y funcionamiento. Estas configuraciones pueden establecerse:
- De manera global, para todos los usuarios del sistema y todos los repositorios en tu equipo (/etc/gitconfig)
- De manera específica para un usuario (~/.gitconfig ó ~/.config/git/config)
- De manera individual en un repositorio concreto (.git/config)
Cada nivel sobreescribe los valores del nivel anterior (proyecto individual => usuario => global)
Tu Identidad
Lo primero que deberás hacer cuando lo instales es establecer tu nombre de usuario e e-mail. Esto es importante porque Git utiliza esta información para ser introducida de manera inmutable en los commits que realizas:
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
Sólo necesitas hacer esto una vez si especificas la opción --global
, ya que siempre usará esta información para todo lo que hagas en ese equipo.
Comprobando tu Configuración
Si quieres comprobar tu configuración, puedes usar el comando git config --list
para mostrar todas las propiedades que Git ha configurado:
git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
También puedes comprobar el valor que se utilizará para una clave específica ejecutando git config [key]
:
git config user.name
John Doe
Cambiar el editor de configuración por defecto
Puedes cambiar el editor por defecto para editar la configuración de git global, que normalmente se encuentra en su fichero de configuración .gitconfig
.
Aquí tienes una lista de los editores más conocidos y como cambiar a tu editor o IDE favorito:
Editor | Comando para Config |
Atom | $ git config --global core.editor "atom --wait" |
nano | $ git config --global core.editor "nano -w" |
Text Wrangler | $ git config --global core.editor "edit -w" |
Sublime Text (Mac) | $ git config --global core.editor "subl -n -w" |
Sublime Text (Win, 32-bit install) | $ git config --global core.editor "'c:/program files (x86)/sublime text 3/sublime_text.exe' -w" |
Sublime Text (Win, 64-bit install) | $ git config --global core.editor "'c:/program files/sublime text 3/sublime_text.exe' -w" |
Notepad++ (Win) | $ git config --global core.editor "'c:/program files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin" |
Kate (Linux) | $ git config --global core.editor "kate" |
Gedit (Linux) | $ git config --global core.editor "gedit -s -w" |
VS Code | $ git config --global core.editor "code --wait" |
emacs | $ git config --global core.editor "emacs" |
vim | $ git config --global core.editor "vim" |
En la siguiente entrada veremos como empezar con un repositorio nuevo o clonar uno existente.