<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://miguelangel.torresegea.es/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://miguelangel.torresegea.es/wiki/feed.php">
        <title>miguel angel torres egea</title>
        <description></description>
        <link>https://miguelangel.torresegea.es/wiki/</link>
        <image rdf:resource="https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png" />
       <dc:date>2026-06-11T02:04:54+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:removefromindex?rev=1765543485&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:stash?rev=1761933732&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:tips?rev=1752152433&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:lfs?rev=1777903516&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:gitattributes?rev=1777903924&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:rejected?rev=1771248690&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:fetch?rev=1778586631&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:merge?rev=1761934229&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:submodule?rev=1752152518&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:filter-repo?rev=1776168437&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:tags?rev=1761933811&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles?rev=1777903354&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:migrar?rev=1752153253&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:rebase?rev=1761933960&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:reset?rev=1761933900&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:revert?rev=1761934020&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:server?rev=1615279052&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png">
        <title>miguel angel torres egea</title>
        <link>https://miguelangel.torresegea.es/wiki/</link>
        <url>https://miguelangel.torresegea.es/wiki/_media/wiki:dokuwiki-128.png</url>
    </image>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:removefromindex?rev=1765543485&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-12T12:44:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git, sacar archivos del indice git (.gitignore)</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:removefromindex?rev=1765543485&amp;do=diff</link>
        <description>git, sacar archivos del indice git (.gitignore)

Gemini dixit:

Esa es una excelente pregunta y es importante entender cómo funciona Git con .gitignore y los ficheros ya existentes.

⚠️ Ficheros ya rastreados (Tracked Files)

Si el directorio data/cache</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:stash?rev=1761933732&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:02:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git STASH</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:stash?rev=1761933732&amp;do=diff</link>
        <description>git STASH

git comando

añadir

	*  git stash push : guarda ficheros de *staged area*
		*  git stash save [-u | --include-untracked] «&lt;message&gt;» : le da un nombre a la sesión guardada en el stash
		*  -u : incluye los ficheros untracked

	*  git stash save [-k |</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:tips?rev=1752152433&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:00:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git tips</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:tips?rev=1752152433&amp;do=diff</link>
        <description>git tips

git

git fetch VS git pull

	*  git pull = git fetch (+ git checkout) + git merge
	*  modo seguro:
git fetch origin
git log --oneline main..origin/main
git checkout main
git log origin/main
git merge origin/main


	*  &lt;https://www.atlassian.com/es/git/tutorials/syncing/git-fetch&gt;
	*  &lt;https://www.atlassian.com/es/git/tutorials/using-branches/git-checkout&gt;
	*  &lt;https://www.atlassian.com/es/git/tutorials/using-branches/git-merge&gt;
	*  &lt;https://www.atlassian.com/es/git/tutorials/syncing/gi…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:lfs?rev=1777903516&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T14:05:16+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git LFS</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:lfs?rev=1777903516&amp;do=diff</link>
        <description>git LFS

git comando

Large File Storage/via: &lt;https://support.atlassian.com/bitbucket-cloud/docs/use-git-lfs-with-bitbucket/&gt;

install

sudo apt install git-lfs

setup (nuevos repos)

	*  instalación cliente:
git lfs install --local # si no se especifica --local, afecta a todos los repos de la sesión, con --local solo al actual

	*  configuración:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:gitattributes?rev=1777903924&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T14:12:04+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>.git* - .gitattributes</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:dotfiles:gitattributes?rev=1777903924&amp;do=diff</link>
        <description>.git* - .gitattributes

indica la naturaleza de cierto tipos de archivos para optimizar el control de cambios.

*.tgz binary
code/*.zip binary

	*  diff:Le indica a Git cómo comparar dos versiones del archivo.
		*  Sin esto, Git intentaría comparar los archivos binarios (lo cual es inútil y consume mucha CPU).</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:rejected?rev=1771248690&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-02-16T13:31:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git &quot;rejected&quot;</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:rejected?rev=1771248690&amp;do=diff</link>
        <description>git &quot;rejected&quot;

git

Cuando has olvidado hacer un «pull» antes de hacer tu «push»

manual

	*  deshacer el commit realizado y dejarlo en el stage:
git reset --soft HEAD~1

	*  guardar temporalmente los cambios en la «stash»:
git stash

	*  recuperar los cambios del remoto:</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:fetch?rev=1778586631&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-12T11:50:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git FETCH</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:fetch?rev=1778586631&amp;do=diff</link>
        <description>git FETCH

git comando

La respuesta corta es: no recibirás una notificación de sistema (como un mensaje emergente o un aviso sonoro), pero la terminal te dará información visual inmediata si hay algo nuevo.

git fetch es como asomarse a la ventana para ver si ha llegado el correo: descargas la información sobre lo que hay en el servidor, pero no &quot;abres las cartas&quot; (no mezclas los cambios con tu código todavía).</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:merge?rev=1761934229&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:10:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git MERGE</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:merge?rev=1761934229&amp;do=diff</link>
        <description>git MERGE

git comando

fusión a 3 bandas entre los dos últimos commits de las dos ramas y el ancestro común

2 maneras de mostrar/trabajar:

	*  no-ff -&gt; no fastforward : nanera de trabajar por defecto de la mayoría de los repositorios, se muestran las ramas creadas con sus propios commits</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:submodule?rev=1752152518&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:01:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git submodulos</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:submodule?rev=1752152518&amp;do=diff</link>
        <description>git submodulos

git

clonar incluyendo submódulos

git clone --recurse-submodules -j8 &lt;url-git&gt;

git clone --recursive -j8 &lt;url-git&gt;
# -j8 solo disponible a partir de la 2.8

git clone --recursive &lt;url-git&gt;

si el repositorio ya estaba clonado:

git clone &lt;url-git&gt;
cd &lt;path-git-submodule&gt;
git submodule update --init --recursive</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:filter-repo?rev=1776168437&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-14T12:07:17+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git filter-repo</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:filter-repo?rev=1776168437&amp;do=diff</link>
        <description>git filter-repo

es una operación común cuando un proyecto crece tanto que un subdirectorio merece convertirse en un repositorio propio.

Esta es la herramienta oficial recomendada por Git actualmente. Si no la tienes, puedes instalarla (suele requerir Python: `pip install git-filter-repo` o</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:tags?rev=1761933811&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:03:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git TAG</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:tags?rev=1761933811&amp;do=diff</link>
        <description>git TAG

git comando

	*  dos tipos:
		*  lightweight: ligeros, hace referencia a un commit
		*  annotated: añade más información, como autor, mensaje y fecha


añadir

	*  git tag &lt;tag&gt; : crea tag ligero en el HEAD
		*  git tag &lt;tag&gt; &lt;commit&gt; : crea tag ligero del commit concreto</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:dotfiles?rev=1777903354&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T14:02:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>.git*</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:dotfiles?rev=1777903354&amp;do=diff</link>
        <description>.git*

git

.gitconfig

	*  ~/.gitconfig:


[alias]
        ck = checkout
        s = status
        l = log --oneline --max-count=10
        ll = log --pretty=format:&quot;%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]&quot; --decorate --numstat
        lg = log --oneline --decorate --graph
        ls = log --pretty=format:&quot;%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]&quot; --decorate
        alias = ! git config --get-regexp ^alias\\. | sed -e s/^alias\\.// -e s/\\ /\\ =\\ /
        a = add
        b = branc…</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:migrar?rev=1752153253&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:14:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git: migrar repositorio</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:migrar?rev=1752153253&amp;do=diff</link>
        <description>git: migrar repositorio

git
Esta página contiene errores subsanados en la explicación 
/vía: &lt;https://maureenbarahona.medium.com/migrar-un-repositorio-con-todos-sus-commits-y-todas-sus-ramas-ccd2c5e6d389&gt;

	*  crear un repositorio vacío en el proveedor de destino
	*  clonar el repositorio que queremos cambiar de proveedor
git clone...

	*  cambiar el origen del repositorio</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:rebase?rev=1761933960&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:06:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git REBASE</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:rebase?rev=1761933960&amp;do=diff</link>
        <description>git REBASE

git comando

	*  git rebase &lt;rama&gt;
		*  -i : interactivo

	*  git rebase -i HEAD~n : rabase interactivo de los últimos n commits
	*  git pull --rebase : al recuperar del remoto, se actualiza la historia
	*  git config --global pull.rebase true : establecerlo por defecto</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:reset?rev=1761933900&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:05:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git RESET</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:reset?rev=1761933900&amp;do=diff</link>
        <description>git RESET

git comando

	*  git reset &lt;commit&gt; : elimina los commits posteriores a &lt;commit&gt; y deja las modificaciones en el working copy
	*  git reset HEAD~1 : elimina el último commit
	*  git reset &lt;commit&gt;^ : elimina el commit seleccionado y posteriores
git reset</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:revert?rev=1761934020&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-10-31T18:07:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git REVERT</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:revert?rev=1761934020&amp;do=diff</link>
        <description>git REVERT

git comando

revierte los cambios de un commit haciendo otro commit

	*  git revert &lt;commit&gt;
		*  -e : permite editar el mensaje de commit (acción por defecto en línea de comando)
		*  --no-edit : lo contrario

	*  git revert &lt;commit&gt;..&lt;commit&gt; : revierte desde el primero (no incluido) al último</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:server?rev=1615279052&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-03-09T08:37:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git repo server</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:server?rev=1615279052&amp;do=diff</link>
        <description>git repo server

seguridad

protocolos

&lt;https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols#The-HTTP/S-Protocol&gt;

	*  local
	*  http(s)
		*  Smart HTTP
		*  Dumb HTTP

	*  ssh
	*  git

ssh

	*  git-shell
		*  usermod -s /usr/bin/git-shell &lt;username&gt;

	*  /etc/ssh/sshd_config:

Match User git
    ForceCommand /usr/bin/git
    AllowTCPForwarding no
    X11Forwarding no</description>
    </item>
</rdf:RDF>
