병합 충돌 문제 (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 :
난 당신이 지점에서 파일을 삭제 한 경우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를 참조하고 있다고 생각한다. 그럼 병합을 종료하고 지점으로 전환하려했습니다. 마스터 브랜치에서 커밋되지 않은 변경으로 인해 실패했습니다. 그런 다음 병합 할 모든 파일이 UserInterfaceState.xcuserstate를 포함하여 – JeffB6688