프로젝트를 진행하다 보면 협업을 해야 하는 경우가 발생합니다.
프로젝트를 진행하는 데 있어 각자 진행한 부분을 공유하면서,
합치는 방법은 많이 있겠지만 보통은 Git을 사용하게 됩니다.
오늘은 그 중 대표 격인 Github의 사용법에 대해 알아보고자 합니다.
깃(Git)이란?
VCS(Version Control System/ 버전 관리 시스템)의 일종으로
소스 정보들의 변경 사항을 저장해 놓고,
이를 불러오는 방식으로 버전 관리가 이루어집니다.
GitHub?
오늘 소개할 Github는 Git을 활용하여,
온라인을 통해 보다 쉽게 협업을 진행할 수 있도록 도와주는 플랫폼입니다.
사용 방법
GitHub 사용 방법은 다음과 같습니다.
가장 먼저 깃허브 회원가입을 해야 합니다.
회원 가입을 한 후 로그인을 했다면
깃허브 내 Repository를 만들어야 합니다.

만드는 방법은 우측에 다음과 같은 그림에서 New를 누르면 생성할 수 있습니다.

Repository name에서 원하는 이름을 입력하고
Create repository를 누르면 깃허브 내 Repository를 생성할 수 있습니다.
상황에 따라 public 혹은 private를 설정해 프로젝트 공개 범위를 설정할 수 있습니다.

아무 설정도 안 했다면 다음과 같은 창이 뜰 텐데 파랑 글씨로 되어 있는
Creating a new file을 누르거나, Uploading an existing file을 눌러 추가하면 됩니다.

파일이 하나라도 들어가 있다면 다음과 같이 뜨게 됩니다.
추가로 파일을 업로드하고 싶다면 우측 상단에 add file을 통해 업로드하면 됩니다.
사이트에서 직접 파일을 올리는 경우 100개의 제한이 있습니다.
그래서 이를 해소하고, 더 쉽게 다룰 수 있도록 도와주는
GitHub desktop을 많이 사용합니다.
GitHub desktop은 깃허브에 있는 내용을 데스크톱에 다운받아서
관리할 수 있도록 도와주는 프로그램입니다.
아래 주소에서 다운 받을 수 있습니다.
https://github.com/apps/desktop
GitHub desktop 사용법
깃허브 데스크탑 프로그램 다운 후 실행해 깃허브 계정으로 로그인한 다음
좌측 상단에 다음과 같은 창을 눌러
원하는 Repository를 가져오거나 새로 만들 수 있습니다.





아래 Clone 버튼을 누르면 데스크탑에 Repository가 복제되어 저장됩니다.
이제 로컬 Repository 폴더(깃허브 데스크탑 - Show in Explorer)에
프로젝트를 넣으면, git을 사용할 수 있는 환경 세팅이 끝났습니다.


이전에 깃허브 사이트에서 본 내용과 같음을 알 수 있습니다.
아래는 추가한 내용입니다.

변경된 사항이 반영되는 걸 확인 할 수 있습니다.
이때 주의할 점은 폴더 내용을 통째로 올리면 에러가 발생할 수도 있습니다.
이는 파일 용량이 커서 발생하는 문제로,
해결하는 방법은 LFS를 통해 돈을 지불하고
더 큰 용량의 저장소를 사용하는 방법도 있습니다만,
사실 간단한 설정으로 업로드 용량을 줄임으로서 해결할 수 있습니다.

처음 생성할 때 .ignore에 가서 템플릿을 선택 후 (저는 제 상황에 맞는 Unity 택) 등록해 주면 됩니다.
이렇게 하면 선택한 파일 중 필요하지 않은 파일을 걸러 내
용량을 줄여 문제없이 업로드 할 수 있습니다.
이미 Repository를 만들었다면
.ignore파일을 만들어서 Repository에 추가 후 업로드 하면 됩니다.
.ignore 파일 만드는 방법은 간단합니다.
다음 사이트에 들어가서 원하는 template을 검색하신 후
나오는 내용을 메모장에 붙여 넣고, .gitignore 파일을 만들면 됩니다.
https://www.toptal.com/developers/gitignore
기본 개념 익히기
Commit?
방금 전 우리는 변경된 사항들을 확인했습니다.
하지만 이는 단순히 변화를 확인만 한 것입니다.
우리는 이 변화된 내용들이 올바르게 저장되도록 설정해야 합니다.
이를 Commit한다고 합니다.
Commit하는 법

깃허브 데스크탑에서 아래 Summary와 Description을 채우고
Commit 버튼을 누르면 됩니다.
Commit을 할 때는 원하는 데이터만 선택하는 것도 가능합니다.
Pull?
깃허브 사이트 원격 저장소에 저장된 내용을 데스크탑으로 가져오는 과정을 말합니다.
Push?
Commit한 내용을 깃허브 사이트 원격 저장소로 보내 저장하는 과정을 말합니다.
Pull과 Push 하는 법

Commit이 완료 되고 나면 다음과 같이 깃허브 원격 저장소에 Push할지 뜹니다.
Pull의 경우 Pull할지 뜹니다.
Fetch Origin으로 뜬다면 변동이 없기에 보낼/받을 내용이 없다는 뜻입니다.
Branch?
여러 개발자가 동시에 여러 작업을
각각 독립된 공간에서 진행할 수 있도록 하는 기능입니다.
보통 가장 핵심이자 기본적으로 존재하는 Main이라는 브랜치 위에
새로운 브랜치를 연결하여 독립된 공간을 만들어 작업합니다.
Branch 만드는 방법
Current branch를 보면 main으로 설정되어 있는 걸 확인 할 수 있습니다.
이 버튼을 누르면 아래와 같은 창이 뜨고, New branch를 눌러 생성이 가능합니다.


Merge?
완성된 혹은 수정된 브랜치의 내용을 다른 브랜치와 통합할 수 있도록 하는 기능을 말합니다.
Merge하는 법

맨 아래 branch를 merge 할 수 있는 기능이 있습니다.
아래는 간단하게 test라는 브랜치를 추가하고 Merge 하는 모습의 내용입니다.

나무가지 같은 아이콘을 통해 현재 어떤 브랜치에 위치하고 있는지 알 수 있습니다.
test 브랜치에 있는 상황입니다.
main을 선택하고 merge를 하게 되면
test에 있는 내용이 main에 덮어 씌워지게 됩니다.
+ 알고 있으면 도움 될 내용
본인이 만든 Repository에 다른 팀원을 초대하는 법
원하는 Repository -> Settings - > Collaborators


Add People 클릭

초대를 원하는 팀원의 깃허브 닉네임이나 아이디(이메일)를 입력하면 초대 메시지가 가고,
상대방이 수락하면 상대방이 내 Repository에 접근할 수 있게 됩니다.
Repository 삭제하는 법
Repository를 삭제하기 위해서는 깃허브 사이트로 가셔서
원하는 Repository -> Settings - >맨 아래 Delete로 Repository 삭제 하면 됩니다.


참고할 만한 자료
https://youtu.be/wBsSUBEUYV4?si=3RVYywiarSWpfPS_
https://youtu.be/RYfO6-hPBdw?si=BxbOmC5AXRv_B9VF
오늘은 간단하게
가장 기본이자 핵심 요소들 위주로 깃허브 사용법에 대해 알아보았습니다.
깃허브 말고도 유니티에 특화된 'Plastic SCM'이라는 것도 있던데,
나중에 한번 기회가 된다면 다뤄 보겠습니다.
'알아보자 시리즈' 카테고리의 다른 글
유니티 - Burst 컴파일러에 대해 알아보자 (2) | 2024.10.16 |
---|---|
직렬화(Serialization)/ 역직렬화(Deserialization) (feat. JSON, CSV, XML, YAML) 에 대해 알아보자 (0) | 2024.09.30 |
'깃/커밋 컨벤션' 에 대해 알아보자 (0) | 2024.09.10 |
유니티 - Unity Visual Scripting에 대해 알아보자 (0) | 2024.09.04 |
유니티 : 오브젝트 풀링(Object Pooling)에 대해 알아보자 (0) | 2024.08.27 |