Iniciar control de versiones en proyecto existente
git init git add . git commit -m 'Iniciamos control de versiones'
Comandos básicos
git add <archivo> # Añadir archivo git mv <archivo> <destino> # Mover archivo git rm <archivo> # Borrar archivo git status # Ver estado de proyecto git show # Información sobre el último commit git commit -m 'Descripción del cambio' # Guardar el estado actual git push # Sube al servidor los cambios realizados git pull # Actualizar local con servidor
Configuración
git config --global user.name "Eduardo Magrané" git config --global user.mail "email@dominio.com"
También podemos modificar directamente el fichero .gitconfig
Descartar directorios o archivos en git
Editar .git/info/exclude, ejemplo:
# git ls-files --others --exclude-from=.git/info/exclude # Lines that start with '#' are comments. # For a project mostly in C, the following would be a good set of # exclude patterns (uncomment them if you want to use them): # *.[oa] # *~ docs logs tmp
Trabajando con ramas
Crear una rama
git branch rama_nueva
Borrar rama
git branch -d rama
Entramos en ella
git checkout rama_nueva
Hacemos modificaciones que añadimos a git y commits sobre la rama
git add . git commit -a
Fusionamos la rama con el master
git checkout master git merge rama_nueva
Si nos encontramos en la situación de haber realizado cambios antes de ir a la rama deseada, mientras no hayamos realizado commit podemos movernos a la rama y llevarnos los cambios.
git checkout -b rama_de_trabajo
Hacemos commit en la rama con los cambios y al volver a la master estará como antes.
Tags con git
Tags anotados
Estos generan una copia exacta del estado del repositorio.:
git tag -a v1.0 -m 'Release v1.0'
Este objeto se creara en .git/objects y creará una referencia en .git/refs/tags/v1.0 que tendrá el SHA-1 del tag.
Tags ligeros
No generan un objeto tag como los anteriores, solo crea una referencia en .git/refs/tags/v2.0 que tendrá el SHA-1 del HEAD:
git tag v2.0
Moviendose entre Tags
Git nos permite movernos entre los tags como si fueran ramas pero sin la posibilidad de modificarlos.:
git checkout v2.0
Listar Tags:
git tags -l git checkout v2.0
Compartir Tags (GitHub por ejemplo):
# todas las etiquetas git push --tags #una etiequeta en particular git push origin v2.0
Visualizar el contenido de un Tag:
git show v1.0
Trabajando en grupo
Un ejemplo de metodología para trabajar en grupo es git-flow, estudiarla te permite entender mejor a git.