Git ignorieren Dateien, die verfolgt werden, ohne sie zu löschen

Ich habe einige Probleme, grundlegende Git-Konzepte zu verstehen: /

Ich teste auf meinem lokalen Windows-Computer, bevor ich einige Dinge auf meiner git-kontrollierten Site ausprobiere.

Ich habe:

gittesting/repo1:
    file.txt
    ignoreme:
        ignore.txt

und

gittesting/repo2
    file.txt
    ignoreme:
        ignore.txt

Repo2 ist eine kopie von repo1 und ignoreme wird bereits verfolgt. Die Datei ignore.txt wird in repo2 geändert, aber ich möchte aufhören, sie zu verfolgen, und damit git sie vollständig ignoriert. Das Problem ist, dass wenn ich eine .gitignore-Datei erstelle und ignoreme hinzufüge, es zu spät ist, weil sie bereits verfolgt wird, so dass ich git rm --cached ignore ausführen müsste, sie dann aber als gelöscht markiert und wenn ich die Festschreibung auf gezogen habe repo1 würde das Verzeichnis gelöscht, anstatt alleine gelassen zu werden.

Etwas zusammenfassen:

Die ignore.txt haben unterschiedliche Inhalte zwischen den beiden Repos.Ich möchte, dass der Inhalt von ignore.txt unverändert bleibt und von git vollständig ignoriert wird

Ich habe online gesucht, im IRC nachgefragt und mir die sehr verwandten Fragen angesehen, kann aber keinen Weg finden, dies zu tun. Ich weiß, dass das Beispiel trivial erscheint, aber es ist genau das, was ich auf meiner Site tun muss, wo das Verzeichnis stattdessen Forum / Cache ist.

bearbeiten:

Dies ist ein kleiner Hack und ich würde eine bessere Antwort vorziehen, aber am Ende tat ich Folgendes:

cd repo2
echo "ignoreme" > .gitignore
echo "ignoreme/*" > .gitignore
git rm --cache -r ignoreme
git commit -m "Should ignore now"
cd ../repo1
mv ignoreme ignoreme2
git pull ../repo2
mv ignoreme2 ignoreme

Antworten auf die Frage(5)

Ihre Antwort auf die Frage