informatica:git
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
informatica:git [2015/02/03 15:28] – [Servidor git acceso claves ssh] javi | informatica:git [2024/10/17 14:56] (current) – jose | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== git ===== | + | ====== git ====== |
- | ==== Iniciar repositorio en remoto ==== | + | ===== Tags ===== |
+ | |||
+ | 1. Listar los commits de un repositorio | ||
+ | |||
+ | < | ||
+ | git log --pretty=oneline | ||
+ | </ | ||
+ | |||
+ | 2. Marcar con una etiqueta (en este ejemplo " | ||
+ | |||
+ | < | ||
+ | git tag -a v1.0 947c168ba5cc2c40dabe15b1a140e0a90f29f3c3 | ||
+ | </ | ||
+ | |||
+ | 3. Subir las etiquetas al repositorio remoto: | ||
+ | |||
+ | < | ||
+ | git push origin v1.0 | ||
+ | </ | ||
+ | |||
+ | ===== Iniciar repositorio en remoto | ||
Given a project in our local file system: | Given a project in our local file system: | ||
Line 19: | Line 39: | ||
4. Move the directory to its final location using SSH | 4. Move the directory to its final location using SSH | ||
scp -rv / | scp -rv / | ||
+ | | ||
+ | ===== Subir un cambio ===== | ||
+ | |||
+ | git add < | ||
+ | git commit -m " | ||
+ | git push | ||
+ | ===== Añadir rama branch ===== | ||
+ | git pull | ||
+ | git checkout -b test | ||
+ | git push origin test | ||
+ | Listar ramas: | ||
+ | < | ||
+ | git branch -a | ||
+ | master | ||
+ | * test | ||
+ | remotes/ | ||
+ | remotes/ | ||
+ | remotes/ | ||
+ | </ | ||
+ | Cambiar de rama: | ||
+ | < | ||
+ | git checkout master | ||
+ | A Dockerfile_ok | ||
+ | A Dockerfile_test | ||
+ | Switched to branch ' | ||
+ | Your branch is up to date with ' | ||
+ | </ | ||
- | ==== Servidor git acceso claves ssh ==== | + | ===== Servidor git acceso claves ssh ===== |
http:// | http:// | ||
Line 68: | Line 115: | ||
sudo su git | sudo su git | ||
cat / | cat / | ||
- | < | + | </code> |
+ | |||
+ | ===== Volver a un commit previo ===== | ||
+ | |||
+ | Escenario: | ||
+ | |||
+ | * Queremos volver a un commit previo | ||
+ | * Queremos hacer un nuevo commit indicando "se ha vuelto al commit XXXX" | ||
+ | |||
+ | 1. Identificar el commit ID al que queremos volver: | ||
+ | |||
+ | git log | ||
+ | |||
+ | En este ejemplo: | ||
+ | |||
+ | commit c501b1d989d780ab17412fc646b62bfe24aa24d5 (tag: v0.10.0) | ||
+ | |||
+ | 2. Volver a ese commit en la copia local: | ||
+ | |||
+ | git reset --hard c501b1d989d780ab17412fc646b62bfe24aa24d5 | ||
+ | |||
+ | 3. **TODO**: clarificar qué hace exactamente este paso | ||
+ | |||
+ | git reset --soft HEAD@{1} | ||
+ | |||
+ | 4. Hacer un nuevo commit | ||
+ | |||
+ | git commit -m " | ||
+ | 5. Subir los cambios al repositorio remoto | ||
- | ==== Comandos sueltos ==== | + | git push |
+ | ===== Comandos sueltos ===== | ||
http:// | http:// | ||
Line 91: | Line 167: | ||
< | < | ||
git push --tags origin | git push --tags origin | ||
+ | </ | ||
+ | * Descargar un tag determinado: | ||
+ | < | ||
+ | git clone -b ' | ||
</ | </ | ||
- | ==== Hooks ==== | + | ===== Hooks ===== |
- | * Desplegar el contenido de un repositorio tras recibir un commit | + | ==== Desplegar el contenido de un repositorio tras recibir un commit |
1. Crear el hook ' | 1. Crear el hook ' | ||
Line 110: | Line 190: | ||
chmod +x / | chmod +x / | ||
| | ||
- | 2. Fer un commit | + | 2. Hacer un commit |
+ | |||
+ | Resultado: el directorio "/ | ||
+ | |||
+ | ==== Enviar un correo tras recibir un commit ==== | ||
+ | |||
+ | 1. Crear el hook ' | ||
+ | |||
+ | sudo vim / | ||
+ | |||
+ | Con el siguiente contenido: | ||
+ | |||
+ | < | ||
+ | # | ||
+ | |||
+ | # Please adjust this setting | ||
+ | RECIPIENTS=" | ||
+ | GIT="/ | ||
+ | SENDMAIL="/ | ||
+ | export USER_EMAIL=$($GIT log -1 --format=format: | ||
+ | REPOSITORY=${PWD## | ||
+ | MAIL_CONTENT=`$GIT log --name-status HEAD^..HEAD` | ||
+ | SUBJECT=$USER_EMAIL" | ||
+ | |||
+ | $SENDMAIL " | ||
+ | subject: | ||
+ | from: | ||
+ | $MAIL_CONTENT | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | chmod +x / | ||
+ | |||
+ | 2. Hacer un commit | ||
+ | |||
+ | Resultado: el directorio "/ | ||
+ | |||
+ | ==== GITHUB ==== | ||
+ | Vamos a Settings "SSH and GPG keys" y añadimos la clave. | ||
+ | |||
+ | Creamos el repositorio en GITHUB. Mejor no inicializar con README.md Allí pone las instrucciones: | ||
+ | < | ||
+ | git init . | ||
+ | git add . | ||
+ | git commit -m " | ||
+ | git remote add origin git@github.com: | ||
+ | git push -u origin master | ||
+ | </ | ||
+ | |||
+ | ====== Deshacer un commit manteniendo cambios en local ====== | ||
+ | Si hacemos un commit antes de un pull y en el servidor hay cambios pero nuestro commit no afecta a esos cambios, para evitar conflictos, deshacemos el commit pero manteniendo los cambios en local: | ||
+ | git reset --soft HEAD^ | ||
+ | |||
+ | |||
- | Resultat: el directori "/ |
informatica/git.1422977285.txt.gz · Last modified: 2015/04/13 20:19 (external edit)