기존 Unity 프로젝트에 github을 도입하는 방법

4175 단어 lfsGitHubGitUnity
【상정 독자】
・git의 도입이 끝나고 있는 분
· github 계정을 가지고있는 사람
・lfs의 도입이 끝나고 있는 분
・Unity 프로젝트를 가지고 있는 분

(1) github에서 원격 리포지토리를 만듭니다.


Add .gitignore를 체크하고 Unity를 선택해 봅시다.
Public/Private 설정은 다른 사람에게 공개하지 않으면 Private로 설정합시다.

(2) 완성 된 리포지토리의 URL을 확인합니다. (3에서 사용)


리포지토리를 열고 가장 먼저 나오는 화면의,
녹색 Code라는 버튼을 누르면 표시되는 URL입니다.
(2021/6/13 현재)

(3) 자신의 Unity 프로젝트에 git을 도입한다.
git init
git remote add origin [2のurl]

명령 프롬프트 (Mac의 경우 터미널)에서 자신의 Unity 프로젝트로 이동하여 위의 명령을 실행합니다.
내 실행 환경에서는 다음과 같은 폴더입니다.


실행해도 아무것도 표시되지 않기 때문에, 불안한 분은 「git remote -v」라고 하는 커멘드를 실행해, 2의 URL이 표시되면 성공입니다.

(4) 원격 정보 수집
git pull origin main

(5) Unity 프로젝트 정보를 원격 리포지토리에 반영
git add .
git commit -m "Add project"
git push origin main

[git add.]는 git로 관리할 파일을 선택하는 명령입니다. [.]는 모두라는 의미입니다만, 개별적으로 지정하고 싶은 경우는 파일명/폴더명을 입력합니다.
[git commit -m "Add project"] 선택한 파일을 실제로 커밋하는 명령입니다. ["Add project"] 부분은 자유롭게 정해지는 메시지이지만 나중에 식별하기 쉬운 문장을 넣는 것이 좋습니다.
[git push origin main] 실제로 원격 리포지토리에 반영하는 명령입니다. git의 버전에 따라서는 [main] 부분을 [master:main]로 할 필요가 있을지도 모릅니다.
이것은 자신의 마스터 로컬 브랜치에서 메인 원격 브랜치로 보내는 것을 의미합니다.
로컬이든 원격이든 main이면 main : main으로 작성하지 않고 main으로 생략 할 수 있습니다.

(6) lfs 도입
git lfs install
git lfs track "*.png"

git lfs track 명령을 사용하여 lfs로 관리할 파일을 선택합니다.
[git lfs track "*.png"] 명령을 사용하여 모든 png 파일을 lfs로 관리하도록 설정할 수 있습니다.
일단 위의 명령을 실행한 후에는 현재 디렉토리에 [.gitattributes] 파일이 완성되므로 직접 편집하는 것이 좋습니다.

.gitattributes 예제
*.cs diff=csharp text
*.cginc text
*.shader text

*.mat merge=unityyamlmerge eol=lf
*.anim merge=unityyamlmerge eol=lf
*.unity merge=unityyamlmerge eol=lf
*.prefab merge=unityyamlmerge eol=lf
*.physicsMaterial2D merge=unityyamlmerge eol=lf
*.physicsMaterial merge=unityyamlmerge eol=lf
*.asset merge=unityyamlmerge eol=lf
*.meta merge=unityyamlmerge eol=lf
*.controller merge=unityyamlmerge eol=lf


## git-lfs ##

#Image
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text
*.ai filter=lfs diff=lfs merge=lfs -text


#Audio
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text


#Video
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.mov filter=lfs diff=lfs merge=lfs -text


#3D Object
*.FBX filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.blend filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text

#ETC
*.a filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.dll filter=lfs diff=lfs merge=lfs -text
*.unitypackage filter=lfs diff=lfs merge=lfs -text
*.aif filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.rns filter=lfs diff=lfs merge=lfs -text
*.reason filter=lfs diff=lfs merge=lfs -text
*.lxo filter=lfs diff=lfs merge=lfs -text

#Asset
*.asset filter=lfs diff=lfs merge=lfs -text

(7) lfs의 도입을 리모트 리포지토리에 반영한다.
git add .
git commit -m "Add lfs"
git push origin main

비고



이번은 모두 커맨드로 실행했습니다만, SourceTree등의 소프트를 이용해도 좋다고 생각합니다.
git, github, lfs의 도입 방법은 다른 기사에 남길지도 모릅니다.
Jenkins를 사용하여 github에서 관리하는 Unity 프로젝트를 일괄 빌드하는 방법도 기사로 만들고 싶습니다.

좋은 웹페이지 즐겨찾기