¡Esta es una revisión vieja del documento!
El repositorio (o working tree) se creará en el directorio donde se llame al siguiente comando:
$ git init
Una vez se tiene el repositorio se han de agregar elementos.
Para añadir un elemento haremos:
$ git add file.txt $ git add directory
La acción de agregar se realiza recursivamente, por lo que si añadimos un directorio al working tree se añadirán también sus subdirectorios y ficheros.
Con el mismo parámetro add agregamos un cambio.
Por ejemplo, si hemos modificado file.txt que ya estaba en el repositorio:
$ git add file.txt
$ git mv file.txt directory
$ git clone repo cloned_repo
Ver nombre del repositorio que viene.
$ git remote
Ver información de un repositorio remoto.
$ git remote show repo_name
$ git fetch
Esto sube los cambio pero no los actualiza, para ello debemos hacer:
$ git fetch $ git merge origin/master
O, en un único comando:
$ git pull
Cada vez que se realiza un commit la versión actual apunta a la anterior y, en cascada, se van almacenando los cambios en el proyecto.
Sin haber realizado ningún cambio (add):
$ git checkout somefile.txt
Habiendo realizado algún cambio (sólo un fichero):
$ git reset HEAD somefile.txt
Habiendo realizado algún cambio (todo el proyecto):
$ git reset HEAD
Esto crearía un segundo commit idéntico al escogido pero posterior al actual.
$ git revert 068b9b9
Historial largo:
$ git log
Historial corto:
$ git log --pretty=oneline --abbrev-commit
Historial completo:
$ git log -p
Formatear el historial:
$ git log --all --pretty=format:"%h %cd %s (%an)" --since='7 days ago' $ git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short
$ git status
Comparar un commit con su predecesor:
$ git show 3720b35
Comparar dos commits:
git diff a2a1eb3..068b9b9
$ git config user.name "John Q. Public" $ git config user.email "johnq@example.com"
Para todos los proyectos:
$ git config --global user.name "John Q. Public" $ git config --global user.email "johnq@example.com"
Agregar colores (para acciones como diff, status…):
$ git config --global color.ui auto
En el directorio personal de tu usuario existirá un archivo denominado .gitconfig, este tendrá tu configuración.
[alias] co = checkout ci = commit st = status br = branch hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short type = cat-file -t dump = cat-file -p
Si los agregramos, al hacer git co estaremos haciendo un git checkout (por ejemplo).
Podemos indicar reglas para ignorar los ficheros de un directorio con el fichero .gitignore del proyecto.
Podemos hacerlo globalmente con:
$ git config --global core.excludesfile ~/.gitignore_global
O haciendo que no se añadan al repositorio con desde .git/info/exclude.
$ git hist --max-count=1
$ git reset
… Y dejarlo como estaba.
$ git reset --hard
$ git clone https://github.com/epintor/Hindoor.git
Realizar cualquiera de los comandos de modificación:
Hacer un commit.
$ git commit -a
Si (y sólo si) hay cambios en la branch 'master':
$ git pull origin master
Subir los cambios (a la branch 'master'):
$ git push origin master
Visor para GNOME:
En Ubuntu existe el paquete gitosis que instala un servidor GIT.