Instalar git (debian)
sudo apt-get install git-core
Ciclo de trabajo
Generación de claves SSH
Ver: https://help.github.com/articles/generating-ssh-keys
Clonar un proyecto (equivale a checkout de svn)
git clone https://github.com/nombreusuario/nombreproyecto.git
Crea el directorio nombreproyecto y clona el proyecto en él.
Añadir fichero a repositorio
git add nombrefichero
Ver status del proyecto
git status
Hacer commit al repositorio local
git commit -a -m "descripción de los cambios"
Subir cambios al repositorio central
git push git@github.com:nombreusuario/nombreproyecto.git
o bien,
git push
Descartar cambios locales
i | f you want to revert changes made to your working copy, do this:
If you want to revert changes made to the index (i.e., that you have added), do this:
If you want to revert a change that you have committed, do this:
|
Fuente: http://stackoverflow.com/questions/1146973/how-to-revert-all-local-changes-in-a-git-managed-project-to-previous-state
Volver a un commit en concreto
git checkout commit_idvéase: http://stackoverflow.com/questions/4114095/revert-to-previous-git-commit
Ver diferencias
Actualizar el proyecto local, bajar los cambios, hacer "update"
git pull
Ver diferencias entre rama de desarrollo y repositorio local
git diff
Ver diferencias entre repositorio local y HEAD
git diff --cached
Ver diferencias entre rama de desarrollo y HEAD
git diff HEAD
Ramas
Crear rama a partir de la actual
git branch rama
Mostrar ramas y en la que nos encontramos
git branch
Situarnos en una rama
git checkout rama
Merge de una rama "rama" con la principal
git branch master (nos situamos en la rama principal)
git merge "rama" (merge de la rama con la principal)
Configurar usuario
Usuario
Automatizar los pulls:
Ver nombre de repositorio
git config -l
Y con el reponame
sudo git config remote.origin.url https://{USERNAME}:{PASSWORD}@github.com/{USERNAME}/{REPONAME}.git
Encontrar todos los *.pyc y eliminarlos del repositorio
find . -name "*.pyc" -exec git rm -f {} \;
Ignorar algunos tipos de fichero (global)
git config --global core.excludesfile ~/.gitignore_global
Editar ~/.gitignore_global y añadir patrones p.e. *.pyc