.gitignore - это удобство, при котором шум не отображается в отчетах о состоянии или автоматически добавляется git add .
и т. П., Вот и все. Вы можете явно добавить проигнорированный файл, и git тогда будет заботиться об этом конкретном файле в любом случае, а именование файла в .gitignore не заставит git перестать заботиться об уже отслеживаемом файле.
Если git pull
удаленных файлов, то эти файлы были отслежены и удалены. Вы можете вернуть их обратно на git checkout "@{may 21 17:30 pdt}"
или на какой-то такой референт для вашей фиксации на момент выталкивания.
Возможно, что кто-то добавил файлы, не зафиксировал изменения и не сработал слияние, что затрудняет поиск сирот, но если кто-то явно не вытерты памяти git git fsck --lost-found
, это похоже на старые программы восстановления, это будет бросьте копии всего, о чем вы когда-либо заботились, а затем отбросили на .git/lost-found
.
git ls-files -ic --exclude-standard
покажет вам отслеженные файлы, соответствующие спецификации игнорирования, то есть файлы, которые кто-то мог добавить или проигнорировать по ошибке. Подумайте об этом, это может быть не очень хорошая линия для крючка с предварительной фиксацией,
git ls-files -ic --exclude-standard \
| sed '${p;s,.*,*** '"$0"' refusing commit with tracked files marked as ignored in the standard excludes lists,;q1}'
Предположительно, кто-то удалил их из репо в фиксации. –
Они были проигнорированы, если они не были в удаленном репо – nathanjosiah
Вы * наверняка *, что операция вытаскивания - это то, что удалило эти файлы? –