<?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-12T03:50:06+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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:dotfiles:removefromindex?rev=1765543485&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:dotfiles:gitattributes?rev=1777903924&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:autopush?rev=1777903300&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:fusion?rev=1752152535&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:fetch?rev=1778586631&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:repo-lectura?rev=1746789176&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: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:tags?rev=1761933811&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: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: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: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: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:autopush?rev=1777903300&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-05-04T14:01:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git autopush shell script</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:autopush?rev=1777903300&amp;do=diff</link>
        <description>git autopush shell script

git

script bash para hacer un commit de un repositorio GIT de manera automatizada

	*  añadir a cron para ejecución automatizada.
	*  hay que configurar el remote:
		*  git config credential.helper &lt;- no he hecho funcionar o no aporta</description>
    </item>
    <item rdf:about="https://miguelangel.torresegea.es/wiki/tech:git:fusion?rev=1752152535&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:02:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git: fusion varios repos en 1 conservando historia</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:fusion?rev=1752152535&amp;do=diff</link>
        <description>git: fusion varios repos en 1 conservando historia

git

/via: &lt;https://medium.com/@checko/merging-two-git-repositories-into-one-preserving-the-git-history-4e20d3fafa4e&gt;

	*  creamos nuevo repo + primer commit (no remote necesario en este momento para este repo)
	*  añadimos el remote del primer repo que queremos fusionar:
git remote add -f first_repo `link_to_first_repo`
git merge --allow-unrelated-histories first_repo/master</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: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: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:repo-lectura?rev=1746789176&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-05-09T11:12:56+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Crear repositorio de solo lectura (para algunos)</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:repo-lectura?rev=1746789176&amp;do=diff</link>
        <description>Crear repositorio de solo lectura (para algunos)

git

	*  Crear repo: 
mkdir mi_repositorio.git
cd mi_repositorio.git
git init --bare

	*  asignar owners: 
sudo chown -R git:mi_grupo_lectura mi_repositorio.git

	*  asignar permisos: 
sudo chmod -R 755 mi_repositorio.git</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>
    <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: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>
</rdf:RDF>
