Intereting Posts

Неверный список файлов Git

Так или иначе, git получил в голове, что у меня есть необработанный файл (каталог, который был в моем хранилище довольно долго, ~ 17 месяцев). Во всяком случае, я не могу убедить git, что это не необработанный файл. Кроме того, я не могу повторно добавить файл (ы), о котором идет речь. Любая идея, как я могу это исправить?

Пример:

➜ git status # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # rosetta_tests/profile/tests/docking/ nothing added to commit but untracked files present (use "git add" to track) 

Я пытаюсь добавить каталог и повторно проверить статус.

 ➜ git add rosetta_tests/profile/tests/docking/ ➜ git status # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # rosetta_tests/profile/tests/docking/ nothing added to commit but untracked files present (use "git add" to track) 

Чтобы быть уверенным (из корня моего исходного дерева)

 ➜ git add . ➜ git status # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # rosetta_tests/profile/tests/docking/ nothing added to commit but untracked files present (use "git add" to track) 

Что здесь происходит? Как я могу убедить git исправить себя?

РЕДАКТИРОВАТЬ

Еще несколько деталей:

-Из файлов нет в .gitignore

В этой папке есть три отслеживаемых файла, поэтому он не пуст.

-После еще большего копания, похоже, что это может произойти из-за изменения случая отслеживаемой папки. Это, к сожалению, не так (каламбур!). Имя папки никогда не менялось.

-Контакты каталога стыковки:

 ➜ ls -lA rosetta_tests/profile/tests/docking/. total 16 -rw-r--r-- 1 tim staff 2209 Jul 17 10:47 command -rw-r--r-- 1 tim staff 260 Jul 17 10:47 flags drwxr-xr-x 3 tim staff 102 Jul 17 10:47 input 

. в git add . команда ссылается на «текущий каталог». Итак, запустите git add . добавит все файлы в текущий каталог и его подкаталоги. Перед запуском git add вы должны убедиться, что находитесь в правильном каталоге.

git add -A – это то, что вы хотите. Это добавит все.

Я решил это, запустив

 git clean -f 

У меня была такая же ошибка: никаких изменений в случае, никаких проблем .ignore, и каталог содержал файлы, которые я определенно хотел сохранить. Добавление dir, commit, git add -A и других средств не имело никакого эффекта.

Я закончил удаление каталога с «git clean», а затем снова просмотрел файлы внутри каталога.

Вот что я сделал:

 rex@sidekick> git status # On branch master # Your branch is ahead of 'origin/master' by 10 commits. # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # app/models/xSpecific/ nothing added to commit but untracked files present (use "git add" to track) 

На данный момент я сделал резервную копию каталога «xSpecific» на всякий случай. Затем я сделал сухой пробег с «чистой чистой» (опция «-n» означает «сухой ход» и -d очищает удаленные каталоги):

 rex@sidekick> git clean -n -d Would remove app/models/xSpecific/ 

После двойной и тройной проверки я продолжил уборку (флаг -f означает «сила» и необходим, чтобы убедить Гит, что вы серьезно. Очень хороший дизайн, если вы спросите меня):

 rex@sidekick> git clean -d -f Removing app/models/xSpecific/ rex@sidekick> git status # On branch master # Your branch is ahead of 'origin/master' by 10 commits. # # Changed but not updated: # (use "git add/rm <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # deleted: app/models/xSpecific/GetAddressesLog.java # deleted: app/models/xSpecific/GetProductLog.java # no changes added to commit (use "git add" and/or "git commit -a") 

Все идет нормально. Каталог больше не указана, но файлы, конечно, тоже исчезли. Я мог бы восстановить их из моей резервной копии, но это то, к чему Гит был создан:

 rex@sidekick> git checkout -- app/models/xSpecific/GetAddressesLog.java rex@sidekick> git checkout -- app/models/xSpecific/GetProductLog.java rex@sidekick> git status # On branch master # Your branch is ahead of 'origin/master' by 10 commits. # nothing to commit (working directory clean) 

Время праздновать! На самом деле, вероятно, было бы проще просто клонировать новую копию хранилища и использовать это вместо этого, но, сделав это, я научился чему-то новому :).

Это решило проблему для меня rm .git/fs_cache

Тот же вопрос, который я получил, и я решил

 git clear -f -n