Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
info:cursos:git [16/07/2018 03:17] – [cambios en ficheros] mate | info:cursos:git [08/08/2018 02:47] (actual) – [.gitignore] mate | ||
---|---|---|---|
Línia 1: | Línia 1: | ||
- | = git | + | = git (git-book) |
- | {{tag> | + | {{tag> |
+ | ~~NOTOC~~ | ||
== info | == info | ||
Línia 8: | Línia 9: | ||
== metodología de trabajo en Git | == metodología de trabajo en Git | ||
- | === estados | + | === áreas |
<image shape=" | <image shape=" | ||
* Working directory: nuestro directorio de trabajo, que puede ser cualquiera de los diferentes **commits** que hemos ido realizando a lo largo del tiempo, aunque se suele trabajar con el **< | * Working directory: nuestro directorio de trabajo, que puede ser cualquiera de los diferentes **commits** que hemos ido realizando a lo largo del tiempo, aunque se suele trabajar con el **< | ||
Línia 29: | Línia 30: | ||
* añadir todos los ficheros: <code bash>git add -A</ | * añadir todos los ficheros: <code bash>git add -A</ | ||
* consultar estado:< | * consultar estado:< | ||
- | * crear un commit (envío/ | + | * crear un commit (envío/ |
* hacer un commit de los ficheros preparados-modificados sin tener que añadirlos explicitamente:< | * hacer un commit de los ficheros preparados-modificados sin tener que añadirlos explicitamente:< | ||
* forzar cambio de usuario en un commit en concreto: <code bash>git -c “user.name=matebcn” commit</ | * forzar cambio de usuario en un commit en concreto: <code bash>git -c “user.name=matebcn” commit</ | ||
* setup sincronización entre repositorio local con repositorio en la nube:< | * setup sincronización entre repositorio local con repositorio en la nube:< | ||
- | * enviar commit a repositorio nube:< | + | * enviar commit a repositorio nube (**-u** setea el upstream de esta rama para futuros usos):<code bash>git push -u origin master</ |
* clonar repositorio nube existente en local (se establece ORIGIN de manera automática):< | * clonar repositorio nube existente en local (se establece ORIGIN de manera automática):< | ||
Línia 48: | Línia 49: | ||
* eliminar fichero: <code bash>rm < | * eliminar fichero: <code bash>rm < | ||
git rm < | git rm < | ||
- | * eliminar del área de trabajo | + | * eliminar del indice |
- | | + | |
+ | === .gitignore | ||
+ | para hacer que ciertos archivos (o patrones de archivos) no se registren, se puede crear un fichero '' | ||
*.a | *.a | ||
Línia 67: | Línia 70: | ||
doc/ | doc/ | ||
</ | </ | ||
+ | se puede crear un fichero para ignorar a nivel global (por la tesitura del equipo y los programas usados):< | ||
+ | se puede ubicar en cualquier sitio, en este caso lo situan en el $HOME del usuario | ||
+ | |||
+ | <callout type=" | ||
+ | |||
+ | === restaurar | ||
+ | ==== stage | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | <callout type=" | ||
+ | |||
+ | ==== working area | ||
+ | <callout type=" | ||
+ | <callout type=" | ||
+ | <callout type=" | ||
+ | |||
+ | ==== fichero untracked | ||
+ | <callout type=" | ||
+ | <callout type=" | ||
+ | <callout type=" | ||
=== con remotos | === con remotos | ||
Línia 90: | Línia 114: | ||
* '' | * '' | ||
- | == Tagear | + | === Tags |
+ | * etiquetas ligeras: alias a los commit, en lugar de su código | ||
+ | * etiquetas anotadas: crean un nuevo // | ||
+ | * nombre | ||
+ | * correo electrónico | ||
+ | * fecha | ||
+ | * gpg checksum | ||
+ | |||
* '' | * '' | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * '' | + | * '' |
+ | * '' | ||
* si se hace '' | * si se hace '' | ||
* '' | * '' | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
+ | |||
+ | <callout type=" | ||
- | <callout type=" | + | === reescribiendo la historia (rebase) |
+ | * [[https:// | ||
+ | * [[https:// | ||
Línia 115: | Línia 153: | ||
$ git commit --amend | $ git commit --amend | ||
# solo se mostraría un commit</ | # solo se mostraría un commit</ | ||
+ | |||
+ | === RESET | ||
+ | <callout type=" | ||
+ | |||
+ | * no toca la working area: <code bash>git reset --soft</ | ||
+ | * borra staging area pero no working area: <code bash>git reset --mixed</ | ||
+ | * <label type=" | ||
Línia 138: | Línia 183: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | |||
+ | === alias | ||
+ | * <code bash>git config --global alias.cm ‘-c “user.name=matebcn” commit’</ | ||
+ | /via: [[https:// | ||
+ | |||
+ | +info: [[https:// | ||
== configuración | == configuración | ||
Línia 150: | Línia 201: | ||
- | == tags | ||
- | alias a los commit, en lugar de su código | ||
- | * aplica el <tag> al actual: <code bash>git tag < | ||
- | * <code bash>git tag <tag> < | ||
- | * listado de tags: <code bash>git tag</ | ||
- | * usar los tags para cambiar de // | ||
- | == alias | ||
- | * <code bash>git config --global alias.cm ‘-c “user.name=matebcn” commit’</ | ||
- | /via: [[https:// | ||
- | |||
- | == RESET | ||
- | <callout type=" | ||
- | |||
- | * no toca la working area: <code bash>git reset --soft</ | ||
- | * borra staging area pero no working area: <code bash>git reset --mixed</ | ||
- | * <label type=" | ||