Нельзя игнорировать UserInterfaceState.xcuserstate все
Я использую Git для управления версиями проекта Xcode 4. Я явно добавил ProjectFolder.xcodeproj/project.xcworkspace/xcuserdata/myUserName.xcuserdatad/UserInterfaceState.xcuserstate до .gitignore, но Git он не будет игнорировать его. Есть идеи, почему это так?
11 ответов:
Git, вероятно, уже отслеживает файл.
чтобы остановить отслеживание файла, который в настоящее время отслеживается, используйте git rm -- cached.
используйте это, заменяя
[project]и[username]информация:git rm --cached [project].xcodeproj/project.xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate git commit -m "Removed file that shouldn't be tracked"в качестве альтернативы вы можете использовать до
git commitэто добавит все файлы, которые были изменены или удаленный.как только вы удалили файл из git, он будет уважать ваш
.gitignore.
в случае, если игнорируемый файл продолжал отображаться в списке без отслеживания, вы можете использовать git clean-f-d чтобы все прояснить.
git rm -- cached YourProjectFolderName.проект xcodeproj файл/.xcworkspace / xcuserdata/имя_пользователя.xcuserdatad / UserInterfaceState.xcuserstate
git commit-m " удален файл, который не должен быть отслеживается"
git clean-f-d
все ответы велики, но вот тот, который будет удален для Если вы работаете в разные Mac (дома и в офисе)
git rm --cache */UserInterfaceState.xcuserstate git commit -m "Never see you again, UserInterfaceState"
был друг показать мне этот удивительный сайт https://www.gitignore.io/. введите IDE по вашему выбору или другие параметры, и он автоматически создаст
gitignoreфайл, состоящий из полезных игнорирует, один из которых являетсяxcuserstate. Вы можете просмотретьgitignoreфайл перед загрузкой.
вот очень хорошее объяснение того, как удалить файлы, о которых идет речь рекурсивно из вашей истории git: http://help.github.com/remove-sensitive-data/
очень полезно, потому что в противном случае инструменты, как правило, "зависают", пытаясь показать разницу на тех огромных файлах, которые не должны были быть проверены в первую очередь...
вот что вы можете сделать (короче) избавиться от больших вещей:
cd YourProject git filter-branch --index-filter 'git rm --cached --ignore-unmatch -r YourProject.xcodeproj/project.xcworkspace' HEAD # see what you want to do with your remote here... # you can: git push origin master --force # or you can delete it and push a fresh new one from your cleaned-up local... rm -rf .git/refs/original git gc --prune=now git gc --aggressive --prune=nowработал очень хорошо для меня :)
для xcode 8.3.3 я только что проверил пробовал приведенный выше код и заметил, что теперь в этом случае мы должны изменить команды, как это
сначала вы можете создать .gitignore файл с помощью
touch .gitignoreпосле этого вы можете удалить весь файл userInterface с помощью этой команды, и с помощью этой команды он будет уважать ваш .файла.gitignore
git rm --cached [project].xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate git commit -m "Removed file that shouldn't be tracked"
вот некоторые демо и короткие сокращения если вы используете GitHub, основные идеи одинаковы.
1. Откройте терминал вот так
2. Вставьте приведенную ниже команду в терминал, за которой следует пробел, а затем вставьте путь.xcuserstate файл просто так
3. Убедитесь, что у вас есть правильный git игнорировать, а затем зафиксировать код :)
это работает для меня
откройте папку, содержащую файл проекта
project.xcworkspaceиз терминала.напишите эту команду:
git rm --cached *xcuserstateэто приведет к удалению файла.




Comments