깃허브(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)
컨트리뷰션은 깃허브 프로젝트에 기여하는 활동을 말합니다. 개발자들은 다른 저장소에 풀 리퀘스트를 보내거나, 이슈를 제기하거나, 코드 리뷰를 하며 기여할 수 있습니다. 깃허브에서는 이러한 활동들을 통해 다른 개발자와 협업하고, 프로젝트를 발전시키는 데 기여할 수 있습니다.
이외에도 깃허브를 활용할 수 있는 방법은 매우 다양합니다. 왜 깃허브가 개발자에게 필수인지 어느정도 감이 잡히시나요?
깃허브를 잘 활용하면 프로젝트와 코드의 관리를 매우 손쉽게 할 수 있습니다. 기회가 되신다면 한번 공부해 보시는 것도 좋습니다.
다음에는 본격적으로 게임 프로그래밍에 대해서 이야기를 해보겠습니다. 감사합니다.
'게임 프로그래밍 > 게임 프로그래밍의 기초' 카테고리의 다른 글
게임 개발의 기초(9) - 깃(Git) 설치하기, 깃허브(GitHub) 계정만들기 (0) | 2023.04.10 |
---|---|
게임 개발의 기초(8) - 깃(Git) 과 깃허브(GitHub) (0) | 2023.04.09 |
게임 개발의 기초(7) - 블루프린트(Blue Print) (0) | 2023.04.09 |
게임 개발의 기초(6) - C++ (0) | 2023.04.08 |
게임 개발의 기초(5) - C# (2) | 2023.04.06 |