У меня возникли проблемы с пониманием основных концепций 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, но затем он помечается как удаленный, и если я вытащил commit для repo1, каталог будет удален, а не оставлен в покое.
Подводя итог:
- В файле ignore.txt имеется различное содержимое между двумя репозиториями.
- Я хочу, чтобы содержимое ignore.txt оставалось таким, каким оно есть, и полностью игнорируется git
Я посмотрел онлайн, спросил в IRC, и посмотрел на очень связанные вопросы, но не могу найти способ сделать это. Я знаю, что пример кажется тривиальным, но это именно то, что мне нужно сделать на моем сайте, где вместо этого находится каталог/кеш.
изменить:
Это немного взломать, и я предпочел бы лучший ответ, но я закончил:
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