sourcecode

UserInterfaceState.xcuserstate를 무시할 수 없음

codebag 2023. 5. 28. 20:45
반응형

UserInterfaceState.xcuserstate를 무시할 수 없음

저는 Git for Xcode 4 프로젝트 버전 컨트롤을 사용하고 있습니다.명시적으로 추가했습니다.ProjectFolder.xcodeproj/project.xcworkspace/xcuserdata/myUserName.xcuserdatad/UserInterfaceState.xcuserstate로..gitignore하지만 무시하지는 않을 겁니다왜 그런지 생각나는 거 있어요?

Git는 이미 파일을 추적하고 있을 것입니다.

gitignore 문서에서:

현재 추적 중인 파일의 추적을 중지하려면 gitrm --cached를 사용합니다.

사용, 대체[project]그리고.[username]정보와 함께:

git rm --cached [project].xcodeproj/project.xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate
git commit -m "Removed file that shouldn't be tracked"

또는 다음을 사용할 수 있습니다.-a이 옵션을 선택하면 수정되거나 삭제된 모든 파일이 추가됩니다.

Git에서 파일을 제거하면 Git은 해당 파일을 존중합니다..gitignore.

무시된 파일이 추적되지 않은 목록에 계속 표시되는 경우, 다음을 사용할 수 있습니다.git clean -f -d일을 정리하기 위해.

1.

git rm --cached {YourProjectFolderName}.xcodeproj/project.xcworkspace/xcuserdata/{yourUserName}.xcuserdatad/UserInterfaceState.xcuserstate

2.

git commit -m "Removed file that shouldn't be tracked"

경고 첫 번째 시도git clean -f -d --dry-run그렇지 않으면 커밋되지 않은 변경 내용이 손실될 수 있습니다.

그러면:git clean -f -d

All Answer는 훌륭하지만 다른 Mac(가정 및 사무실)에서 작업할 경우 모든 사용자가 제거할 수 있습니다.

git rm --cache */UserInterfaceState.xcuserstate
git commit -m "Never see you again, UserInterfaceState"

한 친구가 이 놀라운 사이트 https://www.gitignore.io/ 을 보여주었습니다.선택한 IDE 또는 다른 옵션을 입력하면 자동으로 생성됩니다.gitignore유용한 무시로 구성된 파일, 그 중 하나는xcuserstate미리 볼 수 있습니다.gitignore파일을 다운로드합니다.

여기에 언급된 모든 작업을 수행한 후에도 파일이 계속 표시되는 경우 Xcode 설정에서 이 확인란을 선택 취소해야 합니다.

여기에 이미지 설명 입력

그냥 "get clean-f-d"가 나한테 효과가 있었어요!

여기 GitHub을 사용하는 경우 몇 가지 데모와 바로가기가 있는데, 기본적인 아이디어는 동일합니다.

터미널을 이렇게 엽니다.

여기에 이미지 설명 입력

아래 명령을 터미널에 붙여넣은 다음 공백을 넣은 다음 .xcuserstate 파일의 경로를 다음과 같이 간단히 붙여넣습니다.

git rm --cached 여기에 이미지 설명 입력

git ignore가 올바른지 확인하고 코드를 커밋합니다 :)

여기에 이미지 설명 입력

이것은 나에게 효과가 있습니다.

  1. 프로젝트 파일이 들어 있는 폴더 열기project.xcworkspace종착역에서

  2. 다음 명령을 작성합니다.git rm --cached *xcuserstate

파일이 제거됩니다.

소스 트리 앱을 사용하는 경우 간단한 해결책이 하나 더 있습니다.여기 만드는 방법이 있어요.

1.git ignore 목록에 추가할 파일을 마우스 오른쪽 버튼으로 클릭하고 추적 중지를 선택합니다.여기에 이미지 설명 입력

  1. 다시 동일한 파일을 마우스 오른쪽 버튼으로 클릭하면 ignore 옵션이 활성화된 것을 확인하고 ignore 버튼을 클릭합니다.

여기에 이미지 설명 입력

  1. 이제 동일한 파일에 대한 변경사항을 재설정하거나 커밋할 수 있습니다. 변경사항이 중요한지 여부에 따라 다릅니다. 이후의 변경사항은 선택한 파일에 대해 추적되지 않습니다.

나에겐 아무 것도 안 먹혔지만, 이것은

gitignore에 이 줄을 추가합니다.

*.xcuserdata

다음은 Git 내역에서 문제의 파일을 재귀적으로 제거하는 방법에 대한 매우 좋은 설명입니다. http://help.github.com/remove-sensitive-data/

매우 유용합니다. 그렇지 않으면 툴이 '걸리는' 경향이 있기 때문에 애초에 확인하지 말았어야 하는 대용량 파일의 차이점을 표시하려고 합니다.

다음은 가장 큰 것을 제거하기 위해 수행할 수 있는 작업입니다.

cd YourProject
git filter-branch --index-filter 'git rm --cached --ignore-unmatch -r YourProject.xcodeproj/project.xcworkspace' HEAD
# see what you want to do with your remote here...
# you can: git push origin master --force
# or you can delete it and push a fresh new one from your cleaned-up local...
rm -rf .git/refs/original
git gc --prune=now
git gc --aggressive --prune=now

나에게 아주 잘 작동했습니다 :)

Xcode 환경설정 자체의 파일을 무시할 수도 있습니다.

https://www.toptal.com/developers/gitignore 에서 gitignore 파일 생성

Xcode -> 기본 설정 -> Source Control -> Git -> 목록의 모든 무시 항목 추가...UI가 별로 유용하지 않고 모든 항목을 개별적으로 추가해야 하지만 여기에 ignore 파일을 추가하는 것은 확실히 효과가 있습니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

여기에 이미지 설명 입력

xcode 8.3.3의 경우 방금 위의 코드를 사용해보고 이 경우 명령을 이와 같이 변경해야 한다는 것을 확인했습니다.

먼저 .gitignore 파일을 만들 수 있습니다.

 touch .gitignore

그런 다음 모든 사용자를 삭제할 수 있습니다.이 명령을 사용하는 인터페이스 파일과 이 명령을 사용하는 인터페이스 파일은 .gitignore 파일을 존중합니다.

 git rm --cached [project].xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate
 git commit -m "Removed file that shouldn't be tracked"

이렇게 쓰는 것이 좋을 것 같습니다.

gitrm --cache *//UserInterfaceState.xcuserstate**

언급URL : https://stackoverflow.com/questions/6564257/cant-ignore-userinterfacestate-xcuserstate

반응형