我正在解決合併衝突問題(請參閱Cannot Merge due to conflict with UserInterfaceState.xcuserstate)。基於反饋,我需要使用git rm刪除UserInterfaceState.xcuserstate。如何永久刪除project.xcworkspace下的xcuserdata並解決未提交的更改
經過相當多的實驗後,我能夠使用「git rm -rf project.xcworkspace/xcuserdata」刪除文件。所以,當我在分支上工作時,它幾乎立即恢復爲需要承諾的文件。所以我再次在文件上做了git rm,然後轉回給主人。然後我再次在文件上執行了一個git rm。該操作再次刪除該文件。
但我仍然卡住。如果我嘗試將分支合併到主分支中,它再次表示我有未提交的更改。所以我會去改變。但是這一次,它將UserInterfaceState.xcuserstate顯示爲要提交的文件,但該框未被選中,並且無法檢查。所以我不能前進。我甚至無法切換回我的分支。文件UserInterfaceState.xcuserstate顯示它處於「D」狀態,這顯然意味着它已被刪除。有沒有辦法使用'git rm'永久刪除project.xcworkspace下的xcuserdata?我應該嘗試將其放回存儲庫嗎?如果是這樣,如何。
幫助!!有任何想法嗎?
UPDATE:
我貼的git的狀態結果
Changes to be committed:
modified: project.pbxproj
modified: [a list of all the files to be merged]
Unmerged paths:
(use "git add/rm <file>..." as appropriate to mark resolution)
deleted by us: project.xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate
both modified: ../[projectname]/en.lproj/Localizable.strings
但是這就是問題所在。即使它被標記爲已刪除,但旁邊的複選框未被選中,無法檢查。因此,表示提交文件的按鈕呈灰色。關於.gitignore,我在規則中有xcuserdata,* .xcuserstate和project.xcworkspace /。但它似乎沒有做任何事情。 – JeffB6688
您可以將運行命令git status的結果添加到您的問題中嗎? – aag
aag,我能夠運行git -commit來提交該文件。這讓我回到xcode嘗試合併。合併失敗,出現一個我未能捕獲的錯誤,但是出現「未能合併,xcode不會覆蓋...」。我認爲它指的是分支上存在的UserInterfaceState.xcuserstate是一些狀態。於是我退出合併並嘗試切換到分支。由於主分支上的未提交更改,它又失敗了。然後我看到所有要合併的文件被列爲需要提交(奇怪),包括 – JeffB6688