유니티 프로젝트 깃허브 연결하기

유니티 프로젝트를 깃허브(Github)로 관리하기 위해 보통 다음과 같은 방법으로 시도한다.

  1. 깃허브 사이트에 리포지토리(원격저장소:remote repository)를 생성하고 로컬에 클론한다.
  2. 해당 폴더를 유니티 프로젝트를 지정하려하지만 해당 폴더에는 .git 폴더와 .gitignore와 같은 히든 파일이 있기 때문에 빈 폴더를 선택하라는 메시지를 보게된다.(프로젝트 생성 실패)
  3. 다른 폴더에 유니티 프로젝트를 생성한 후 서브 폴더의 모든 파일을 복사해 붙여 넣기한다.

무척 번거로운 방법이고 비효율적이다. 따라서 먼저 유니티 프로젝트를 원하는 폴더에 생성하고 다음과 같이 터미널에서 원격 리포지토리에 연결하는 방법이 쉽고 깔끔하다.

  1. Github 사이트에서 새로운 리포지토리(원격저장소)를 생성한다. 이때 .gitignoreUnity로 지정해 리포지토리를 생성한다. .gitignore 파일에는 리포지토리에서 관리할 필요가 없는 파일을 필터링하는 역할을 한다. 즉, 이 파일에 등록된 파일은 업로드 되지 않는다. 즉, push 되지 않는다.


    Unity .gitignore 참조

  2. 원하는 작업 폴더에 유니티 프로젝트를 생성한다. 만약, 이미 작업하고 있던 유니티 프로젝트가 있는 경우에는 바로 터미널에서 해당 프로젝트 폴더로 이동한다.

  3. 터미널에서 유니티 프로젝트 경로로 이동한 후 git 초기화하고 리포지토리(원격저장소)에 연결한다. 연결한 후에는 원격저장소에만 있는 README.md 파일과 .gitignore 파일을 받아와야 한다.(pull)

    1
    2
    3
    $ git init    #깃 초기화
    $ git remote add origin https://github.com/계정명/리포지토리명 #원격 저장소 연결
    $ git pull origin master #원격 저장소에만 존재하는 파일 가져오기
  4. 대용량 파일을 업로드하기 위해 Git LFS(Large File System)를 설치하고 Git LFS를 이용해 업로드할 파일의 유형을 git lfs track 명령을 사용해 등록한다. 아래 코드는 예시이며 본인의 프로젝트에 따라서 필요한 파일을 지정해야 한다.

    git lfs track “<lfs를 사용해 업로들 할 파일 확장자>”

    1
    2
    3
    4
    5
    6
    7
    8
    $ git lfs install         #lfs 초기화

    $ git lfs track “*.zip” #lfs를 사용해 업로드할 파일 타입 추가
    $ git lfs track “*.psd”
    $ git lfs track “*.pdf”
    $ git lfs track “*.tgr”
    $ git lfs track “*.tiff”
    $ git lfs track “*.cubemap”
  5. git lfs track 한 후에 해당 정보를 담고 있는 .gitattributes 파일 생성되는데 이 파일을 원격 리포지토리에 먼저 push해야 git lfs가 동작한다.

    1
    2
    3
    4
    $ git add .gitattributes  #LFS 정보를 스테이지에 추가

    $ git commit -m “Add gitattributes” #커밋
    $ git push -u origin master #원격 저장소에 푸시
  6. 이제 유니티 전체 프로젝트를 커밋 & 푸시한다.

    1
    2
    3
    $ git add .
    $ git commit -m “Project Upload”
    $ git push

댓글