답변:
Git은 이미 파일을 추적하고있을 것입니다.
로부터 gitignore 워드 프로세서 :
현재 추적되는 파일 추적을 중지하려면 git rm --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 commit
수정 또는 삭제 된 모든 파일을 추가 할 수 있습니다 .
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"
3. 경고 먼저 시도하십시오 git clean -f -d --dry-run
. 그렇지 않으면 커밋되지 않은 변경 사항이 손실 될 수 있습니다.
그때:
git clean -f -d
git clean -f -d --dry-run
어떻게되는지
git clean -f -d
합니까?
git clean -f -d
커밋되지 않은 파일 변경이 있는 경우를 사용하지 마십시오 ! 나는 그것을 사용했고 이미 작성된 컨텐츠로 새로 작성된 파일을 제거했습니다! :) 먼저 커밋 한 다음 깨끗하게 정리
모든 답변은 훌륭하지만 다른 Mac (가정 및 사무실) 에서 작업하는 경우 모든 사용자에 대해 제거되는 답변입니다.
git rm --cache */UserInterfaceState.xcuserstate
git commit -m "Never see you again, UserInterfaceState"
친구가이 놀라운 사이트 https://www.gitignore.io/를 보여주었습니다 . 선택한 IDE 또는 기타 옵션을 입력하면 gitignore
유용한 무시로 구성된 파일 이 자동으로 생성되며 그 중 하나는입니다 xcuserstate
. gitignore
다운로드하기 전에 파일을 미리 볼 수 있습니다 .
다음은 git history에서 문제의 파일을 재귀 적으로 제거하는 방법에 대한 아주 좋은 설명입니다. http://help.github.com/remove-sensitive-data/
그렇지 않으면 도구는 처음에는 확인해서는 안되는 거대한 파일에 diff를 표시하려고 시도하는 동안 '멈춤'경향이 있기 때문에 매우 유용합니다 ...
가장 큰 것들을 제거하기 위해 당신이 할 수있는 것 (짧게)은 다음과 같습니다.
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
나를 위해 아주 훌륭하게 일했습니다 :)
이것은 나를 위해 작동
project.xcworkspace
터미널에서 프로젝트 파일이 들어있는 폴더를 엽니 다 .
이 명령을 작성하십시오. git rm --cached *xcuserstate
파일이 제거됩니다.
xcode 8.3.3의 경우 위의 코드를 시도하고 확인했습니다.이 경우에는이와 같이 명령을 변경해야합니다.
먼저 다음을 사용하여 .gitignore 파일을 만들 수 있습니다
touch .gitignore
그 후이 명령을 사용하여 모든 userInterface 파일을 삭제할 수 있으며이 명령을 사용하면 .gitignore 파일을 존중합니다.
git rm --cached [project].xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate
git commit -m "Removed file that shouldn't be tracked"