일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- AWS
- 체크인미팅
- UNICON2023
- 42서울
- 프로그래밍
- RDS
- 생활코딩
- 배포
- EC2
- 스프링
- 인프라
- 자바개발자
- CICD
- 백엔드
- 스프링부트
- 프리티어
- Developer
- 백엔드개발자
- 인디게임
- 위키북스
- 도커
- 티스토리챌린지
- 온라인테스트
- 게임개발동아리
- 라피신
- 전국대학생게임개발동아리연합회
- UNICON
- UNIDEV
- 오블완
- 개발공부
- Today
- Total
Hyun's Wonderwall
Github 협업 중 유니티 프로젝트 업로드 안 됨 해결 (100mb 용량 초과 문제, .gitignore) 본문
Github 협업 중 유니티 프로젝트 업로드 안 됨 해결 (100mb 용량 초과 문제, .gitignore)
Hyun_! 2023. 1. 10. 17:22------- 2024년 덧붙임 -------
- 본문 요약: .gitignore가 잘 안 되어서 그렇고, .gitignore 파일을 유니티 프로젝트 폴더 안에 넣어주면 됨.
- 문제 발생의 핵심: 깃허브 레포지토리 클론한 폴더 != 유니티 프로젝트 폴더 인 경우
애초에 한 유니티 프로젝트를 만들어 브랜치로 깃허브에서 받아와 작업했으면 되었을 것인데... 유니티 프로젝트를 따로 작업하고 합치려다 이 사단이 났었다.
만약 유니티 프로젝트 여러 개를 합쳐야 한다면, 프로젝트 하나에 패키지로 내보내기한 다른 프로젝트를 임포트하거나, 수동으로 다른 프로젝트 폴더를 복붙해서 합칠 수 있다. (파일 탐색기에서 프로젝트 내부 폴더 쭉 복사해 다른 프로젝트 내부 폴더에 덮어쓰기 해도 합쳐지고, 파일 일일이 import 해도 됨)
------- 2023년 작성한 부분 -------
2022년 8월, PM으로 게임 개발 프로젝트를 진행하던 중 위의 문제가 발생해 해결방법을 찾아보게 되었고 얼추 해결법을 알게 되었습니다.
2023년 1월에 진행한 프로젝트에서도 동일한 상황이 있었고 문제가 발생했는데요.
이번에는 프로그래머님이 다른 방식으로 해결하셔서 그 두 가지 방법을 비교해서 포스팅을 올리게 되었습니다.
본론. 해당 문제의 원인은 깃허브 레포지토리의 구조 때문이었습니다.
1) 디렉토리가 한 겹 더 있는데 (Mini-Game)
2) .gitignore에서 디렉토리들을 ignore하는 부분은 /[Ll]ibrary/와 같이 적혀있음
(*디렉토리=폴더 입니다) Mini-Game 내부에 라이브러리같은 디렉토리들이 있는데 그 바깥만 확인하게 돼서 .gitignore가 저희가 원하는대로 작동하지 않았던거죠.
해결방법은 다음과 같습니다.
1) 그 한 겹을 없앤다 (2022년 8월 당시의 해결방법)
라이브러리같은 폴더들을 밖으로 빼주면 됩니다.
깃헙에서 생성할 수 있는 기본 .gitignore 파일을 변경하지 않고 해결하고 싶을 때 (위의 2번 형태) 해결하는 방법입니다.
2) .gitignore에서 /[Ll]ibrary/를 **/[Ll]ibrary/와 같이 바꾼다 (새로 배운 해결방법)
**를 앞에 붙이면 해당 디렉토리가 저장소 내 어떤 위치에 존재하던 모두 ignore 처리하게 됩니다.
.gitignore 파일에서 디렉토리 부분에 **를 붙여서
**/[Ll]ibrary/
**/[Tt]emp/
**/[Oo]bj/
**/[Bb]uild/
**/[Bb]uilds/
**/[Ll]ogs/
**/[Mm]emoryCaptures/
**/[Uu]ser[Ss]ettings/
이렇게 바꾸면 됩니다.
.gitignore 사용해 파일과 디렉토리를 ignore 처리하는 방법을 잘 정리해주신 글 링크를 첨부합니다.
https://nochoco-lee.tistory.com/46
참고로 .gitignore는 이미 올라간 파일은 무시하지 않습니다.
-------2022년 8월에 작성했던 글 (오류 있을 수 있음) --------
*작성자는 게임 개발 프로젝트 PM이며, 프로젝트 중 코더분들께 위 문제가 발생해 해결방법을 찾아보게 되었습니다.
*같은 문제가 발생한 다른 PM 분들께도 공유드리고자 티스토리 글로 작성하지만, 개발 관련 지식이 얕아 단어 오용이 있을 수 있습니다. 오류가 있다면 언제든 지적 부탁드립니다.
# 문제 상황:
깃허브 데스크탑에 유니티 프로젝트 업로드가 안됨. 100mb가 넘어서 그렇다고 함.
# 분투과정:
넘는게 말이 안되는데... 왜 넘는지 모르겠지만 찾아보니 그럴땐 lfs라는걸 써야 한대서 써봄→안됨→구글이 bfg라는걸 써보라는데 또 안됨→포기
선배분께 용량 초과 문제 해결방법 여쭤봄→"?? 그거 별로 정상적인 상황 같지 않은데...? 용량을 줄여봐"→(덕분에 배경음악 압축방법 알게 됐지만,, 그래도 여전히 문제 발생함)
결국 또 다른 분께 여쭤봄→"폴더 구조가 이상한 것 같아!!"
원인은 허탈하게도... ".gitignore이 제대로 작동하지 않아서" 였습니다.
저희 레포지토리의 main 화면입니다. 레포지토리 내에 개별적으로 작업한 "프로젝트 폴더"가 업로드 되어 있어요. 이렇게 되면 .gitignore이 Mini-Game 내부 폴더(Library 등...)에 대해서는 적용되지 못합니다.
그 결과 Mini-Game 안에 있는 Library나 Logs등 업로드가 무시되어야했던 폴더속의 무수한 파일들이 올라가졌고, 이것이 용량 초과의 원인이었습니다.
위 상황에서 저는 Mini-Game을 백업 후 레포에서 삭제했고, .gitignore와 README.md만 남겨두고 푸시했습니다. 다른 프로그래머분들도 clone했던 레포 내에서 Mini-Game같이 잘못 생성한 폴더들을 삭제/이동해주셔야겠죠.
작업중이신 프로젝트 폴더를 이 레포지토리 경로가 아닌 개인 위치에 백업해 놓으시고(만일 대비) 다음의 방법으로 해결해보세요.
"내 컴퓨터에서 문서\GitHub\(레포지토리이름) 폴더에서 기존 .gitignore, README.md는 그대로 놔두고 Assets 등 프로젝트 내부 폴더 넣고 커밋&푸시"
- 다시 강조하자면 커밋시 GitHub\(레포지토리이름)안에 프로젝트명 폴더로 한 겹 더 씌워서 통째로 넣으면 안됩니다. 내부 폴더들은 꺼내 놓고 껍질 폴더는 삭제해주세요.
- 어떤 프로젝트에서 작업하고 있던 걸 깃허브 레포에 커밋하고 싶을 경우 내부 폴더들을 복사해 레포 폴더에 붙여넣기하면 파일들이 기존 동명의 폴더 안으로 알아서 들어가서 합쳐집니다. (Assets 등...)
- .gitignore이 잘 작동하면 clone되었던 레포지토리 폴더 내에 Library, Logs등이 있어도 커밋되지 않고 원하는 대로 잘 업로드됩니다.
- 혹시 Library랑 Logs이 업로드됐다면, 깃허브 데스크탑으로 커밋한 게 아니고 웹사이트에서 add file>upload files로 업로드한 경우일 수 있습니다.(경험해봄) 커밋을 통해야 Library 폴더와 같이 무시되어야 하는 것들이 안 올라가집니다.
+ 그외
깃허브에서 레포지토리를 clone하는 것은 단순한 복사가 아닙니다. clone된 GitHub\(레포지토리이름) 폴더는 푸시와 풀을 통해 다른 사람과 연결됩니다. 즉, GitHub\(레포지토리이름) 폴더는 공용 작업 공간이고 그 안의 파일들은 다른 작업자들과 함께 다루는 것들입니다. 레포지토리 폴더에 새로 무언가를 넣거나 있던 걸 지운다면 깃허브 데스크탑 앱에서 changes가 뜰 거예요. 이대로 커밋하고 푸시하면 전체 레포지토리에서도 생성되거나 삭제되죠. 그래서 이 내부는 절대 개인 폴더처럼 사용하면 안 됩니다.
'Study > Unity, C#' 카테고리의 다른 글
유니티 - 버튼 텍스트, TextMeshPro 가로세로 폭 맞추기 (0) | 2024.01.22 |
---|---|
유니티 페이드 인&페이드 아웃 효과 주기 - Panel의 불투명도를 조절 (0) | 2024.01.21 |
유니티 에러 - [Collab] Collab service is deprecated and has been replaced with PlasticSCM (0) | 2024.01.01 |
[유니티 공부] 랜덤 확률 버튼 미니게임 (0) | 2024.01.01 |
유니티 공부 - (1) 유니티 준비, 인터페이스 둘러보기 (2) | 2023.12.28 |