Git ignoruje pliki śledzone BEZ USUNIĘCIA

Mam problemy ze zrozumieniem podstawowych pojęć git: /

Testuję na moim lokalnym komputerze z Windows, zanim spróbuję kilku rzeczy na mojej stronie kontrolowanej przez gita.

Mam:

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

i

gittesting/repo2
    file.txt
    ignoreme:
        ignore.txt

Repo2 jest kopią repo1, a ignoreme jest już śledzone. Plik ignore.txt zostaje zmieniony w repo2, ale chcę przestać go śledzić, a git całkowicie go zignorować. Problem polega na tym, że jeśli utworzę plik .gitignore i dodam ignoreme, jest już za późno, ponieważ jest on już śledzony, więc musiałbym zrobić, aby git rm --cached ignorował, ale potem jest oznaczony jako usunięty i jeśli wyciągnąłem zatwierdzenie do repo1, katalog zostałby usunięty, a nie pozostawiony samemu.

Podsumowując:

Ignore.txt ma inną zawartość między dwoma repozytoriami.Chcę, aby zawartość ignore.txt pozostała niezmieniona i została całkowicie zignorowana przez git

Sprawdziłem online, zapytałem w IRC i spojrzałem na bardzo podobne pytania, ale nie mogę znaleźć sposobu, aby to zrobić. Wiem, że przykład wydaje się trywialny, ale to jest dokładnie to, co muszę zrobić na mojej stronie, gdzie zamiast tego katalog to Forum / cache.

edytować:

To trochę hack i wolałbym lepszą odpowiedź, ale skończyło się to na:

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

questionAnswers(5)

yourAnswerToTheQuestion