게임 로고 이미지

유니티를 사용하시다 보면 깃허브라는 말을 심심치 않게 들으셨을 겁니다. 이를 알아보려고 검색해도 처음 사용하시는 분들에게는 개념자체가 어려워서 이해하기가 쉽지 않으셨을 텐데요. 이 글에서는 그런 분들을 위해서 이를 알기 쉽게 설명하고 왜 사용하는지, 핵심적인 사용법에 대해서 알아보겠습니다.

[무엇인가?]

  • Git 이라는 저장소시스템을 관리하기위한 클라우드 시스템이 GitHub입니다. 쉽게 말하자면 프로젝트를 저장하기 위한 시스템이 Git 이고 GitHub 는 개인 컴퓨터가 아닌 서버를 빌려서 관리를 용이하게 해주는 프로그램입니다.

[왜 사용하는가?]

[버전 관리를 용이하게 하기 위함]
  • 여러 버전을 언제든지 선택하여 플레이를 가능하게 만들어 줍니다.
  • 예시
    • 만약 게임에서 길드라는 시스템을 추가한 버전이 1.0.1버전이고 추가하기 전 버전이 1.0.0버전이라고 해봅시다. 이때 기획자가 시스템이 들어 가기전과 시스템이 들어간 후의 버전을 플레이하고 싶다고 요청했을 때 깃허브를 사용하지 않으면 알집으로 각각의 버전을 컴퓨터의 저장해야 하는 경우가 생기게 됩니다.
[병렬 작업]
  • 클라우드 기반의 시스템이기 때문에 서버에 올려진 프로젝트를 언제든지 가져와 코드를 작성하여 업데이트를 할 수 있습니다. 좀 더 알기 쉽게 예시를 들어 보겠습니다.
  • 예시
    • 이를 사용하지 않고 여러 작업자가 게임을 만든다고 가정했을 때 프로젝트를 각자 컴퓨터에 다운받아서 코드를 작성한 뒤. 각자의 코드를 수동으로 병합해야 하는 번거로움이 생깁니다. 하지만 사용 시 서버에 올라간 프로젝트를 내 컴퓨터에 받아와서 코드를 작성한 뒤 클릭한번으로 병합이 됩니다.
[개인 프로젝트도 깃허브를 사용하면 프로젝트 관리가 용이하다.]
  • 개인 프로젝트를 할 때 이를 사용하지 않으면 자신의 컴퓨터나 구글드라이브에 저장해서 관리할 것입니다. 그렇게 관리하다 보면 나중에는 이를 찾기도 쉽지 않고 버전관리도 안돼 있기 때문에 자신의 코드가 이상 생겨 프로젝트가 플레이가 되지 않을 때 그 이전 버전으로 돌아가기도 쉽지 않습니다.

[깃허브 데스크탑 사용해보기.]

회원 가입

https://github.com/signup?source=login

  • 위 사이트에서 회원가입을 합니다.
repository 만들기
깃허브 계정의 리포지토리 카테고리 들어가는 방법
  • 회원가입 후 우 상단에 위치한 자신의 프로필을 클릭하여 Your repositories를 클릭해 줍니다.
리포지토리 생성 버튼
  • New를 클릭하여 repository 생성 페이지로 넘어가 줍니다.
리포지토리 설정
  • Repository name : 프로젝트 이름을 설정해줍니다.
  • public or private :프로젝트를 모두에게 보여줄 것인지, 자신과 설정한 사람들에게만 보일 것인지를 선택해 줍니다.
  • Add.gitignore : 버튼을 클릭하여 Unity로 설정해 줍시다. 기본 세팅을 유니티로 하겠다는 뜻입니다.
  • 위 세가지를 설정하시고 Create repository 클릭!
실행하기

https://desktop.github.com/

  • 위 링크를 클릭하여 설치해 줍니다.
  • 데스크탑은 깃허브를 쉽게 다루기 위한 UI 툴이라고 생각하시면 됩니다.
깃허브 데스크탑에서 클론 리포지토리 방법
  • 사진의 빨간 동그라미가 쳐진 화살표를 클릭 한 뒤 Add -> Clone repository 클릭
깃허브 데스크탑에서 내가 만든 리포지토리 보는 법
  • 자신의 만들어 뒀던 repository를 클릭하고 Clone 클릭
repository에 유니티 프로젝트 넣어주기
깃허브 데스크탑에서 Show in Explorer 버튼
  • 빨간 줄의 Show in Explorer를 클릭한 뒤 파일을 열어줍니다.
  • 프로젝트를 만들어서 파일에 전부 넣어줍니다.
깃허브 데스크탑 커밋 방법
  • 다시 에디터에 돌아오면 changed files에 여러 파일이 올라와 있을 겁니다.
  • 올라온 파일들은 유니티 파일들이며, 저처럼 프로젝트 세팅 완료 같은 문구를 입력해준 뒤 Commit to main이라는 버튼을 클릭해 주시면 클라우드 서버에 올라간 것입니다.

[기본 동작 알아보기.]

Pull, Push, Fetch
  • 프로젝트를 올릴 때 데스크탑의 우 상단에 Push라는 버튼이 생겼을 겁니다.
    • Push는 변경사항을 클라우드 서버에 올리겠다는 뜻입니다.
  • 올리고 난 후 우 상단 버튼이 Fetch로 바뀌셨을 겁니다.
    • Fetch는 클라우드 서버에 변경사항이 있는지 확인해 보겠다는 뜻입니다.(다른 작업자가 Push를 했을 경우)
  • 만약 Fetch를 했을 때 다른 작업자가 자신의 작업물을 올렸다면 Pull이라는 용어로 버튼이 변경 되셨을 겁니다.
    • Pull은 Fetch를 누른 후 다른 작업자가 서버에 작업물을 올렸으니 자신의 컴퓨터로 변경사항을 가져 오겠냐고 물어보는 것입니다.

[그 외 동작]

  • Branch
    • 브랜치는 여러 갈래로 나눌 수 있는 기능입니다.
    • 만약 자신의 게임의 길드 시스템이 들어간 버전과 들어가지 않은 버전을 나눌 때 각각의 브랜치를 만들어서 관리할 수 있습니다.
  • Merge
    • 머지는 각 사용자들이 서로의 코드를 서버에 올릴 때 자동으로 변경사항을 병합해주는 행위입니다. 하지만 병합할 때 충돌이 일어나는 경우가 있습니다.
    • 충돌이 일어나는 경우는 꽤 복잡하여 다음 글에서 자세히 알아보겠습니다.

[깃허브 데스크탑 이외의 사용 할만한 GUI TOOL 추천]

  • SourceTree
    • 꽤 많은 기업들이 소스트리를 사용하고 있습니다. 이유는 아무래도 예전부터 사용하던 거라 굳이 바꿀 필요가 없기에 사용하는 경우가 많습니다.
  • Rider에서 제공해주는 툴
    • Rider라는 intelliJ에서 제공해주는 코드 편집기 입니다.
    • 내부에서 프로젝트를 관리 할 수 있는 기능을 제공해 주어, 데스크탑에 있는 모든 기능을 다 사용 할 수 있습니다.
    • 유니티에 최적화 되어 있다보니 사용하기 편하며 특정 부분의 코드를 날짜별로 수정 이력을 볼 수 있는 등 유용한 기능들이 많습니다.

[개인적인 생각]

처음에 어떤 것을 사용 해야 하나 고민이 되실 텐데요. 어떤 것을 사용하셔도 무방하다고 생각합니다. 제가 소개해준 툴 중 한 개만 잘 사용 하셔도 기본적인 기능들은 유사하기 때문에 나중에 다른 툴을 사용할 때 빠르게 학습이 가능하기 때문에 선택보다는 사용해보며 익숙해지고 기본 개념을 잘 이해하시는데 초점을 두시는 게 좋다고 생각합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다