<?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-14T05:59:06+00:00</dc:date>
        <items>
            <rdf:Seq>
                <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:alias?rev=1754219992&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:filter-repo?rev=1776168437&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:dotfiles:gitattributes?rev=1777903924&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:curs?rev=1684328851&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:fusion?rev=1752152535&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:tags?rev=1761933811&amp;do=diff"/>
                <rdf:li rdf:resource="https://miguelangel.torresegea.es/wiki/tech:git:config?rev=1752152736&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:rejected?rev=1771248690&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: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: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?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:alias?rev=1754219992&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-03T11:19:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git alias</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:alias?rev=1754219992&amp;do=diff</link>
        <description>git alias

	*  &lt;https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases&gt;

alias

	*  
git config --global alias.cm ‘-c “user.name=matebcn” commit’


/via: &lt;https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases&gt;
+info: &lt;https://github.com/GitAlias/gitalias&gt;</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: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: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: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:curs?rev=1684328851&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-17T13:07:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Anotaciones curso GIT</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:curs?rev=1684328851&amp;do=diff</link>
        <description>Anotaciones curso GIT

	*  git init
	*  git add
	*  .gitignore
	*  git diff [--staged][--cached]
	*  git commit [-m «mensaje»][-a][--ammend]
	*  git config --global core.editor
		*  git config --global alias.unstage &#039;reset HEAD ~&#039;
		*  git config --</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: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: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: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:config?rev=1752152736&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-07-10T13:05:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>git config</title>
        <link>https://miguelangel.torresegea.es/wiki/tech:git:config?rev=1752152736&amp;do=diff</link>
        <description>git config

git

glosario

	*  HEAD == @
	*  HEAD^ : commit anterior al HEAD
	*  HEAD@{1.month}
	*  - (guión) : te devuelve a la rama que acabas de dejar

config

	*  ubicación:
		*  system : /etc/gitconfig [--system]
		*  global : ~/.gitconfig [--global]</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: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: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: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>
</rdf:RDF>
