วิธีจัดการกับคำเตือน Xcode Missing File ในพื้นที่เก็บข้อมูล Git

ฉันใช้ GIT สำหรับการควบคุมแหล่งที่มาในโครงการ Xcode ของฉัน หลังจากอัปเดตไลบรารีของ Cocopod ฉันเริ่มได้รับคำเตือนดังต่อไปนี้:

ไฟล์:///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

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... เปิดเทอร์มินัล;ซีดีไปยังโฟลเดอร์ของโครงการ พิมพ์ 'สถานะ git' และ 'บันทึก git' เพื่อดูว่าเกิดอะไรขึ้นกับไฟล์ต้นฉบับ และตรวจสอบการตั้งค่าโปรเจ็กต์ใน 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 reset HEAD path/to/file.swift

มีการบันทึกสิ่งนี้ไว้ในเอาต์พุตของ git status เช่นกัน

person adc    schedule 21.07.2017