Bagaimana cara menangani peringatan Xcode Missing File di repositori Git?

Saya menggunakan GIT untuk kontrol sumber di proyek Xcode saya. Setelah memperbarui perpustakaan kakaopod, saya mulai mendapat peringatan seperti berikut:

file:///Users/NinjaDev/Development/Xcode/NinjaApp/Pods/Alamofire/Source/Download.swift: peringatan: File tidak ada: /Users/NinjaDev/Development/Xcode/NinjaApp/Pods/Alamofire/Source/Download.swift hilang dari copy pekerjaan

Librarynya berubah, sehingga file Download.swift sudah tidak ada lagi. Saya mengkomit proyek dan melakukan pembersihan serta pembangunan kembali, tetapi saya masih mendapatkan kesalahan. Saya kira repositori tidak tahu bahwa itu telah dihapus, tetapi saya tidak terlalu paham dengan cara kerja internal Git...apa cara yang benar untuk memperbaikinya dan mencegahnya terjadi lagi?

Sunting: Sesuai saran Aspirin2D, berikut adalah status gitnya. Git log tidak memiliki sesuatu yang aneh.

Status 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")

EDIT 2: Saya tahu apa yang terjadi. Ketika saya berkomitmen di Xcode, file yang saya hapus pasti tidak dicentang secara default. Saat mengatasi masalah tersebut, saya membuka menu komit lagi, dan benar saja itu hanyalah sekumpulan file yang tidak dicentang. Periksa dan lakukan lagi untuk memperbaiki peringatannya. Mengapa Xcode membiarkan beberapa file tidak dicentang secara default?


person GoldenJoe    schedule 19.08.2016    source sumber
comment
Saya rasa tidak ada masalah dengan xcode karena saya tidak melihat file project.pbxproj berubah   -  person Phu Duy    schedule 19.08.2016


Jawaban (3)


peringatannya, mungkin bukan disebabkan oleh git... Buka terminal,;CD ke folder proyek;ketik 'git status' dan 'git log', untuk mengetahui apa yang terjadi pada file sumber. Dan periksa lagi pengaturan proyek di Xcode. Ceritakan lebih detail tentang itu.

person Aspirin2D    schedule 19.08.2016
comment
Terima kasih untuk sarannya. Status git menunjukkan bahwa beberapa file tidak dikomit...tetapi saya melakukan komit/mendorong melalui Xcode. Mungkin ada bug, atau mungkin saya tidak memahami sesuatu dengan benar? - person GoldenJoe; 19.08.2016
comment
Saya menemukan solusinya, silakan lihat hasil edit dan tinggalkan komentar. - person GoldenJoe; 19.08.2016
comment
Menurut pendapat saya, SELALU menggunakan git dengan baris perintah, jelas dan dapat diprediksi - person Aspirin2D; 19.08.2016

Saya memiliki masalah yang sama ketika menggunakan pohon sumber. Setelah memutakhirkan ke Swift 3, banyak file dari kerangka kerja berbeda yang diubah, dan saya mendapat peringatan bahwa file tersebut hilang. Di pohon sumber, memindahkan file yang diubah dari tidak dipentaskan ke dipentaskan mengakibatkan peringatan menghilang.

person Shaked Sayag    schedule 29.10.2016

Bagi yang datang ke sini dari mesin pencari:

Ketika ini terjadi pada saya (Xcode 8.2.1; Swift 3), saya juga memperhatikan bahwa beberapa file tidak dicentang. Saya yakin apa yang terjadi adalah file dipentaskan di git tetapi diganti namanya sebelum dikomit.

Untuk memperbaikinya, cukup buka terminal dan ketik

git reset HEAD path/to/file.swift

Catatan tentang hal ini juga dibuat di keluaran git status.

person adc    schedule 21.07.2017