У меня возникли некоторые проблемы с пониманием основных концепций git :/
Я провожу тестирование на локальном компьютере с Windows, прежде чем попробовать некоторые вещи на моем сайте, контролируемом git.
У меня есть:
gittesting/repo1:
file.txt
ignoreme:
ignore.txt
и
gittesting/repo2
file.txt
ignoreme:
ignore.txt
Repo2 является копией repo1, и ignoreme уже отслеживается. Файл ignore.txt изменяется в репозитории2, но я хочу прекратить его отслеживать и чтобы git полностью игнорировал его. Проблема в том, что если я создам файл .gitignore и добавлю ignoreme, это слишком поздно, потому что он уже отслеживается, поэтому мне придется сделать git rm --cached ignore, но затем он помечается как удаленный, и если я вытащу фиксацию в repo1, каталог будет удален, а не оставлен в покое.
Подводя итог:
Я посмотрел в Интернете, задал в IRC и посмотрел на очень связанные вопросы, но не могу найти способ сделать это. Я знаю, что пример кажется тривиальным, но это именно то, что мне нужно сделать на моем сайте, где вместо этого каталог - Форум / кэш.
edit:
Это немного хак, и я бы предпочел лучший ответ, но в итоге я сделал:
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