GitHub Desktop 최고!
Unity 전용 .gitignore
- GitHub에서 Repository를 새로 만들 때 .gitignore 항목에서 다운로드 받을 수도 있다.
Unity Editor 설정 변경
- Edit >> Project Settings >> Version Control >> Mode를 Visible Meta Files로 변경
- git push & pull을 할 때마다 mesh collider의 위치가 엇갈리는 것을 방지해준다.
초기화 (자신이 팀장인 경우)
- 작업하는 directory는 Unity > Project > Currently Working Project인 것으로 간주한다.
- Unity 전용 gitignore을 Currently Working Project에 넣어준다.
- git config --global init.defaultBranch main를 친다. 이후에 git init을 할 때마다 기본 branch가 main이 된다.
- git init
- git remote add origin url (remote에 있는 빈 리포지토리의 url)
- git add .
- git commit -m "first commit"
- git push
초기화가 올바르게 진행됐는지 확인
- git remote add origin 이후에 git remote -v
- git add . 이전에 git status
이후 작업할 때
- git checkout main (현재 브랜치를 main으로 이동)
- git pull (최신 상태 반영)
- git branch 브랜치이름 (작업용 브랜치 생성)
- git checkout 브랜치이름
- 작업하기... (git add ., git commit -m "asdf", git push)
- 이후 GitHub Repository에 가보면 PR이 있을 것.
- git conflict를 해결한 뒤, merge. 또한 밑에 delete branch 버튼이 있을 것. 이것도 눌러준다.
- git branch -d 브랜치이름 (작업한 브랜치를 로컬에서 지운다)
차선책
- 엔진을 다룰 수 있는 기획자 & 아트 직군과 협업하는 경우, git보다는 GitHub Desktop을 사용하는 것이 더 효율적일 수도 있다.
- GitHub Desktop은 GUI로, commit, push, pull, branch 교체가 자유롭고 편하다.
- 이렇게 작업하는 경우, 주로 리드 프로그래머가 베이스 프로젝트를 main에 push 한 뒤, stage와 같은 협업용 branch를 따로 판다.
- 협업용 branch에는 자유롭게 push를 할 수 있으나, conflict를 방지하기 위해 push 여부를 최대한 자주 디스코드에 알려줘야 한다.
- conflict가 난 경우 VS Code를 통해 빠르게 고칠 수 있다; HEAD 쪽을 잘 보면 위에 작은 글씨로 incoming과 같은 옵션을 선택할 수 있다.
읽어주셔서 감사합니다!