[git-core]. Manual completo en español: <http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/es/book.html#_hosting_git_gratuito>
Software de control de versiones. Una vez registrados en Github [<http://github.com>], crear un nuevo repositorio con el nombre escogido y github nos facilitará los datos de acceso [Al estilo: https://github.com/templix/tractatus.git].
Crear el repositorio local de un proyecto alojado en github:
$ mkdir tractatus (Crear el directorio local)
$ cd tractatus (Entrar en él)
$ git init (Inicializar git)
$ git config --global user.name "nombre_usuario" (Entrar datos del usuario)
$ git config --global user.mail mail@direccion.com (Entrar mail)
$ mv /home/usuario/tractatus.txt . (Mover el archivo al repositorio)
$ git add tractatus.txt (Añadir el fichero a git)
$ git commit -a -m 'Inicio del proyecto' (Realizar el primer commit [comentario con los cambios en el proyecto])
$ git remote add origin https://github.com/templix/tractatus.git (Decirle a nuestra copia local el repositorio remoto donde se alojará)
$ git push origin master (Enviar los cambios al servidor remoto)
Otros comandos:
$ git clone git@github.com:templix/tractatus.git
$ git clone https://github.com/templix/tractatus.git
$ git clone ssh://usuario@host.com/home/templix/repositorio repositorio
$ git config -l
$ git config user.email
$ git config remote.origin.url
$ git log
$ git status
$ git config --global credential.helper cache
$ git config --global credential.helper 'cache --timeout=3600'
$ git rm archivo
$ git fetch origin
$ git reset --hard origin/master
$ git diff --color-words archivo1 archivo2
$ git instaweb --httpd=webrick
$ git instaweb --httpd=webrick --stop
$ git config --help
$ git log --pretty=oneline
$ git commit --amend
1.-
Indicar a git archivos o directorios que quedemos excluir del control de versiones.
$ touch .gitignore
Con el contenido que queremos excluir [Algunos ejemplos]:
*~
tmp/*
*.so
*.zip
Thumbs.db
Si el archivo .gitignore lo colocamos en el directorio $HOME afectará a todos los proyectos de git. Para ello lanzar:
$ git config --global core.excludesfile ~/.gitignore
2.-
Descartar modificaciones.
Si una vez realizadas modificaciones en un archivo, antes de lanzar el commit, queremos verlas y descartarlas:
$ git status
$ git diff
$ git checkout -- archivo
3.-
Imprimir todos los repositorios git de un usuario
$ curl -s https://api.github.com/users/USERNAME/repos?per_page=1000 |grep git_url |awk '{print $2}'| sed 's/"\(.*\)",/\1/'
4.-
Cuando se formatea el disco y se instala nuevamente la distro y git produce un error porqué los datos del usuario y la máquina desde la que se comunicaba han variado respecto de los que constaban:
$ git clone git@github.com:tem...
$ git config --global --edit
$ git commit --amend --reset-author
5.-
Normalmente los datos del usuario se guardan en ~/.gitconfig con lo que pueden visualizarse con:
$ cat .gitconfig