git no ve un file … ¿cómo entender qué pasa?

Problema 1. Estoy intentando dejar que git rastree mi file "altro.src" pero sin éxito. El file es completamente ignorado por git, incluso si no figura en .gitignore, no se muestra con –ignonetworking e incluso si trato de agregarlo, no se considera.

Soy un novato con git (tercer compromiso … y ya estoy atascado) pero tengo una larga experiencia con hg.

Aquí hay algunos commands para mostrar el problema:

$ ls -al altro.src -rw-r--r-- 1 myuser staff 560 28 Mar 09:02 altro.src $ git status . On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) typechange: moebius.html no changes added to commit (use "git add" and/or "git commit -a") $ cat .gitignore *~ .DS_Store /index.html /index.en.html /moebius.html /moebius.en.html /altro.html /altro.en.html $ git status . --ignonetworking On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) typechange: moebius.html Ignonetworking files: (use "git add -f <file>..." to include in what will be committed) .DS_Store .gitignore~ altro.en.html altro.html altro.src~ base.src~ build_site.py~ index.en.html index.html moebius.en.html moebius.src~ no changes added to commit (use "git add" and/or "git commit -a") $ git add altro.src $ git status . On branch master Your branch is up-to-date with 'origin/master'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) typechange: moebius.html no changes added to commit (use "git add" and/or "git commit -a") 

Problema 2. No entiendo qué significa "cambio de tipo" en el file moebius.html y cómo deshacerme de ese post (moebius.html está en mi .gitignore y quiero que se ignore).

Sospecho que es solo que altro.src ha cambiado desde que lo altro.src previamente. Git no te advierte si tratas de representar un file sin modificar, pero no lo agrega al área de ensayo (índice) para que no se muestre en el git status . En otras palabras, si le pides a Git que agregue algo que ya está allí, no tiene trabajo que hacer.

Puede comprobar esto ejecutando git diff altro.src (podría no mostrar cambios) y git log altro.src (para ver cuál de sus confirmaciones lo agregó antes).

La nota typechange le indica que el tipo de file ha cambiado (por ejemplo, de un file normal a un enlace a un file).