Git игнорирует отслеживаемые файлы, БЕЗ УДАЛЕНИЯ ИХ
У меня возникли проблемы с пониманием основных концепций git: /
Я тестирую на своем локальном компьютере с Windows перед тем, как что-то попробовать на своем контролируемом git сайте.
Я имею:
gittesting/repo1:
file.txt
ignoreme:
ignore.txt
а также
gittesting/repo2
file.txt
ignoreme:
ignore.txt
Repo2 является копией repo1, а ignoreme уже отслеживается. Файл ignore.txt изменяется в repo2, но я хочу прекратить отслеживать его, а git полностью его игнорирует. Проблема состоит в том, что если я создаю файл .gitignore и добавляю ignoreme, будет слишком поздно, потому что он уже отслеживается, поэтому мне придется выполнить git rm --cached ignore, но тогда он будет помечен как удаленный и если я вытащу коммит на repo1, каталог будет удален, а не оставлен в покое ..
Подвести итог:
The ignore.txt have different content between the two repos. I want the ignore.txt contents to remain as they are and be completely ignored by gitЯ посмотрел в Интернете, спросил в IRC и посмотрел на очень связанные вопросы, но не могу найти способ сделать это. Я знаю, что пример кажется тривиальным, но это именно то, что мне нужно сделать на моем сайте, где вместо этого находится каталог Forum / cache.
редактировать:
Это что-то вроде хака, и я предпочел бы лучший ответ, но в итоге я сделал:
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