Как бороться с предупреждением об отсутствии файла Xcode в репозитории Git?

Я использую GIT для управления исходным кодом в моем проекте Xcode. После обновления библиотеки Cocopod я начал получать предупреждения, подобные следующим:

file:///Users/NinjaDev/Development/Xcode/NinjaApp/Pods/Alamofire/Source/Download.swift: предупреждение: Отсутствует файл: /Users/NinjaDev/Development/Xcode/NinjaApp/Pods/Alamofire/Source/Download.swift отсутствует в рабочей копии

Библиотека изменилась, так что файла Download.swift больше нет. Я зафиксировал проект и сделал чистку и перестройку, но все еще получаю сообщение об ошибке. Я предполагаю, что репозиторий не знает, что он был удален, но я не очень хорошо знаком с внутренней работой Git... как правильно это исправить и предотвратить повторение этого?

Изменить: по предложению Aspirin2D, вот статус git. В журнале git не было ничего необычного.

Статус Git

On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   Podfile.lock
    deleted:    Pods/Alamofire/Source/Download.swift
    deleted:    Pods/Alamofire/Source/Manager.swift
    deleted:    Pods/Alamofire/Source/Stream.swift
    deleted:    Pods/Alamofire/Source/Upload.swift
    modified:   Pods/Manifest.lock
    deleted:    Pods/Pods.xcodeproj/xcuserdata/.xcuserdatad/xcschemes/RAMAnimatedTabBarController.xcscheme
    deleted:    Pods/RAMAnimatedTabBarController/LICENSE
    deleted:    Pods/RAMAnimatedTabBarController/RAMAnimatedTabBarController/Animations/BounceAnimation/RAMBounceAnimation.swift
    deleted:    Pods/RAMAnimatedTabBarController/RAMAnimatedTabBarController/Animations/FrameAnimation/RAMFrameItemAnimation.swift
    deleted:    Pods/RAMAnimatedTabBarController/RAMAnimatedTabBarController/Animations/FumeAnimation/RAMFumeAnimation.swift
    deleted:    Pods/RAMAnimatedTabBarController/RAMAnimatedTabBarController/Animations/RotationAnimation/RAMRotationAnimation.swift
    deleted:    Pods/RAMAnimatedTabBarController/RAMAnimatedTabBarController/Animations/TransitionAniamtions/RAMTransitionItemAnimations.swift
    deleted:    Pods/RAMAnimatedTabBarController/RAMAnimatedTabBarController/RAMAnimatedTabBarController.swift
    deleted:    Pods/RAMAnimatedTabBarController/RAMAnimatedTabBarController/RAMBadge/RAMBadge.swift
    deleted:    Pods/RAMAnimatedTabBarController/RAMAnimatedTabBarController/RAMItemAnimationProtocol.swift
    deleted:    Pods/RAMAnimatedTabBarController/README.md
    deleted:    Pods/Target Support Files/RAMAnimatedTabBarController/Info.plist
    deleted:    Pods/Target Support Files/RAMAnimatedTabBarController/RAMAnimatedTabBarController-dummy.m
    deleted:    Pods/Target Support Files/RAMAnimatedTabBarController/RAMAnimatedTabBarController-prefix.pch
    deleted:    Pods/Target Support Files/RAMAnimatedTabBarController/RAMAnimatedTabBarController-umbrella.h
    deleted:    Pods/Target Support Files/RAMAnimatedTabBarController/RAMAnimatedTabBarController.modulemap
    deleted:    Pods/Target Support Files/RAMAnimatedTabBarController/RAMAnimatedTabBarController.xcconfig
    modified:   NinjaApp.xcworkspace/xcuserdata/NinjaDev.xcuserdatad/UserInterfaceState.xcuserstate

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    Pods/Alamofire/Source/SessionDelegate.swift
    Pods/Alamofire/Source/SessionManager.swift
    Pods/Alamofire/Source/TaskDelegate.swift
    Pods/Local Podspecs/UIColor_Hex_Swift.podspec.json
    NinjaApp.xcodeproj/xcuserdata/NinjaDev.xcuserdatad/xcschemes/NinjaData.xcscheme
    NinjaApp.xcodeproj/xcuserdata/NinjaDev.xcuserdatad/xcschemes/NinjaWebservices.xcscheme

no changes added to commit (use "git add" and/or "git commit -a")

РЕДАКТИРОВАТЬ 2: Я понял, что произошло. Когда я делал коммит в Xcode, файлы, которые я удалял, по умолчанию не проверялись. Пока я возился с проблемой, я снова открыл меню фиксации, и, конечно же, это была просто куча непроверенных файлов. Проверьте их и снова зафиксируйте предупреждения. Почему Xcode по умолчанию не проверяет некоторые файлы?


person GoldenJoe    schedule 19.08.2016    source источник
comment
я не думаю, что проблема связана с xcode, потому что я не вижу изменения файла project.pbxproj   -  person Phu Duy    schedule 19.08.2016


Ответы (3)


предупреждение, возможно, это не вызвано git... Откройте терминал; CD в папке проекта; введите «git status» и «git log», чтобы узнать, что случилось с исходным файлом. И еще раз проверьте настройки проекта в Xcode. Расскажите мне об этом подробнее.

person Aspirin2D    schedule 19.08.2016
comment
Спасибо за предложение. Статус git показывает, что некоторые файлы не зафиксированы... но я сделал фиксацию/проталкивание через Xcode. Может баг, а может я что-то не правильно понимаю? - person GoldenJoe; 19.08.2016
comment
Я нашел решение, смотрите правки и оставляйте комментарии. - person GoldenJoe; 19.08.2016
comment
На мой взгляд, ВСЕГДА использовать git с командными строками, это понятно и предсказуемо - person Aspirin2D; 19.08.2016

У меня была такая же проблема при использовании исходного дерева. После обновления до Swift 3 многие файлы из разных фреймворков были изменены, и я получил предупреждение об их отсутствии. В исходном дереве перемещение файлов, измененных с неустановленных на подготовленные, привело к исчезновению предупреждений.

person Shaked Sayag    schedule 29.10.2016

Для тех, кто попал сюда из поисковой системы:

Когда это случилось со мной (Xcode 8.2.1; swift 3), я также заметил, что несколько файлов не были проверены. Я считаю, что произошло то, что файл был помещен в git, но переименован перед фиксацией.

Чтобы исправить это, просто откройте терминал и введите

git reset HEAD path/to/file.swift

Примечание об этом также сделано в выводе git status.

person adc    schedule 21.07.2017