본문 바로가기
게임 프로그래밍/게임 프로그래밍의 기초

게임 개발의 기초(10) - 깃허브(GitHub) 활용하기

by jyppro 2023. 4. 11.

깃허브(GitHub) 활용

이전의 저희는 깃과 깃허브를 설치하고 계정을 만드는 과정까지 진행했습니다. 이번에는 본격적으로 깃허브를 사용하는 방법에 대해서 이야기 해보려 합니다.

 

깃허브(GitHub)는 소스 코드 관리와 버전 관리를 위한 웹 기반 호스팅 서비스입니다. 이 서비스를 사용하면 개발자는 코드를 다른 사람과 공유하고, 다른 개발자가 만든 소스 코드를 참고하거나 수정하여 사용할 수 있습니다. 아래는 깃허브의 주요 기능을 상세히 설명한 것입니다.

1. 저장소(Repository)
저장소는 깃허브에서 가장 중요한 기능 중 하나입니다. 저장소는 코드, 문서, 이미지, 동영상 등의 파일들을 저장하는 곳으로, 저장소를 생성하면 해당 저장소의 주소(URL)를 통해 다른 사용자들과 소스 코드를 공유할 수 있습니다. 저장소는 두 가지 유형이 있습니다.
개인 저장소(Personal repository): 사용자 개인이 만든 저장소로, 일반적으로 공개하지 않습니다.
공개 저장소(Public repository): 모든 사용자가 접근할 수 있는 저장소로, 오픈 소스 프로젝트를 위해 사용됩니다.


2. 이슈(Issue)
이슈는 소프트웨어 개발에서 생길 수 있는 문제나 버그 등의 작업을 추적하는 기능입니다. 이슈를 생성하면 해당 이슈에 대한 자세한 정보와 진행 상황을 관리할 수 있습니다. 이슈에는 라벨, 마일스톤, 담당자 등의 정보를 추가하여 보다 체계적으로 관리할 수 있습니다.

3. 풀 리퀘스트(Pull Request)
풀 리퀘스트는 다른 개발자의 저장소에서 변경된 코드를 본인의 저장소로 가져오는 것을 의미합니다. 풀 리퀘스트를 보내면 해당 변경 사항을 검토하고 병합(Merge)할 수 있습니다. 이를 통해 다른 개발자의 코드를 수정하거나 개선할 수 있습니다.

4. 브랜치(Branch)
브랜치는 저장소에서 다른 작업을 수행할 때 사용하는 기능입니다. 브랜치를 생성하면 현재 코드와는 별개의 작업 영역을 만들 수 있습니다. 이를 통해 여러 작업을 병렬적으로 진행하거나, 실험적인 코드를 관리할 수 있습니다.

5. 웹호스팅(Hosting)
깃허브는 정적인 웹 사이트를 호스팅할 수 있는 기능을 제공합니다. 저장소에 HTML, CSS, JavaScript 등의 정적 파일을 업로드하면, 해당 파일을 바로 웹에서 볼 수 있습니다. 이를 통해 블로그, 포트폴리오, 문서 등을 공유할 수 있습니다.

 

6. 위키(Wiki)
위키는 깃허브 저장소 내에서 문서를 작성하고 공유하는 기능입니다. 저장소와 독립적으로 작동하며, 마크다운 문법을 사용하여 문서를 작성할 수 있습니다. 위키를 활용하면 프로젝트에 대한 문서, 설명서 등을 작성하고 공유할 수 있습니다.

7. 프로젝트(Project)
프로젝트는 이슈와 풀 리퀘스트를 더욱 체계적으로 관리할 수 있도록 도와주는 기능입니다. 프로젝트를 생성하면 이슈와 풀 리퀘스트를 칸반 보드 형식으로 관리할 수 있습니다. 이를 통해 각 작업의 진행 상황을 한눈에 파악할 수 있습니다.

8. 커밋(Commit)
커밋은 깃허브에서 코드의 변경 사항을 기록하는 작업입니다. 변경 사항이 있을 때마다 커밋을 해서 기록해두면, 이후에 해당 코드를 복구하거나 변경 내역을 추적할 수 있습니다. 깃허브에서는 커밋 메시지를 작성할 때 규칙이 있습니다. 메시지는 변경 사항을 요약하여 간결하게 작성하고, 현재 시제로 작성하는 것이 좋습니다.

9. 컨트리뷰션(Contribution)
컨트리뷰션은 깃허브 프로젝트에 기여하는 활동을 말합니다. 개발자들은 다른 저장소에 풀 리퀘스트를 보내거나, 이슈를 제기하거나, 코드 리뷰를 하며 기여할 수 있습니다. 깃허브에서는 이러한 활동들을 통해 다른 개발자와 협업하고, 프로젝트를 발전시키는 데 기여할 수 있습니다.

 

이외에도 깃허브를 활용할 수 있는 방법은 매우 다양합니다. 왜 깃허브가 개발자에게 필수인지 어느정도 감이 잡히시나요?

깃허브를 잘 활용하면 프로젝트와 코드의 관리를 매우 손쉽게 할 수 있습니다. 기회가 되신다면 한번 공부해 보시는 것도 좋습니다.

 

다음에는 본격적으로 게임 프로그래밍에 대해서 이야기를 해보겠습니다. 감사합니다.