불필요한 메타 lib 또는 ext 파일이 모두 이미 푸시되었을 때 unity git repo를 저장하는 방법은 무엇입니까?
2 년 전에 학교에서 프레젠테이션을 위해 게임을 만들었지 만 .gitignore를 추가하지 않았고 모든 메타 또는 확장 파일을 정리하지 않았습니다. 이로 인해 프로젝트로 돌아 가려고 할 때 문제가 발생하고 게임을 업그레이드하면 문제의 리포지토리가 유니티의 불필요한 네이티브 파일로 채워져 git 리포지토리가 과도하게 채워져 더 이상 변경 사항을 푸시하지 못합니다. 지금 .gitignore를 추가했지만 파일이 이미 git repo에 업로드 되었기 때문에 너무 늦었습니다. 2000 개 이상의 변경 사항이 있으므로 모든 파일을 하나씩 찾을 수있는 방법은 없습니다. 네이티브 / 메타 파일인지 확인하고 삭제합니다. 누구든지이 문제로 나를 도울 수 있습니까?
답변
다음 중 하나를 시도 할 수 있습니다.
- 방법 1 : 새 git을 만들고 이전 Unity 프로젝트를이 새 git에 다운로드합니다. 이번에는 github로 푸시하기 전에 먼저 .gitignore 파일을 추가하십시오.
- 방법 2 : 무시할 모든 폴더 추적을 중지합니다. 파일 추적을 중지하는 방법
파일 추적을 중지하려면 색인에서 제거해야합니다. 이 명령으로 수행 할 수 있습니다.
git rm --cached <file>
일부 git GUI 프로그램은이 프로세스를 더 쉽게 만들 수 있습니다. SourceTree를 사용하는 것이 좋습니다.
그건 그렇고, .meta 파일을 무시하지 마십시오. .meta 파일은 프로젝트 작업을 유지하는 데 필요합니다. Unity는 이러한 파일을 사용하여 파일의 위치, 참조되는 에셋을 찾습니다.
상당한 공간을 차지하는 생성 된 파일의 대부분은 Library 폴더에만 있습니다. 불필요한 파일을 무시하기 위해 너무 많은 작업을해야하는 것에 대해 걱정할 필요가 없습니다. git GUI 프로그램을 사용하고 원치 않는 파일 변경 사항이 팝업되는 경우 해당 파일을 마우스 오른쪽 버튼으로 클릭하고 해당 파일 추적을 중지 할 수 있습니다.
여기서 git에서 저장소를 이전 상태로 되 돌리는 방법을 볼 수 있습니다. 내가 올바르게 이해하고 Unity를 업그레이드하여 파일을 추가했다면 솔루션은 매우 간단합니다. 업그레이드 전으로 되돌립니다.
저장소가 이미 붐비는 경우 (처음부터 불필요한 데이터를 무시하지 않았으므로) 불필요한 데이터를 삭제하고 삭제를 커밋 한 다음 원격으로 푸시해야합니다 ( 이 게시물 참조) .
가장 쉬운 해결책은 다음과 같습니다.
- .gitignore 추가
- 모든 cahed 파일 제거
git rm -r --cached .
- 모든 파일을 다시 추가하십시오 (.gitignore를 사용하면 원하는 파일 만 추가됨).
git add .
- 변경 사항을 커밋
git commit -m "Fixed untracked files"
또는 올인원 통화를 사용하십시오.
git rm -r --cached . && git add . && git commit -am "Fixed untracked files"