깃(Git) 과 깃허브(Github)
저번엔 언리얼 엔진에서 사용하는 C++ 과 블루프린트에 대해 간략하게 알아보았습니다.
이번에는 실제로 프로젝트를 진행하기 위해 개발자라면 기본적으로 알아야 하는 깃(Git) 과 깃허브(GitHub)에 대해 알아보려 합니다. 그럼 깃이 무언인지 부터 보겠습니다.
깃(Git)은 분산형 버전 관리 시스템(Distributed Version Control System)입니다. 버전 관리 시스템은 프로젝트의 소스 코드를 관리하고 변경사항을 추적하여 이전 버전으로 돌아갈 수 있도록 돕는 시스템입니다.
깃은 다음과 같은 특징을 가지고 있습니다.
분산형 버전 관리 시스템: 깃은 중앙 서버가 필요하지 않으며, 각 개발자의 로컬 컴퓨터에서 작업한 내용을 서버에 업로드하지 않아도 됩니다. 이렇게 분산된 방식은 다양한 작업 환경에서도 유연하게 작업할 수 있는 장점을 가지고 있습니다.
빠른 속도와 성능: 깃은 매우 빠른 속도와 높은 성능을 가지고 있습니다. 이는 깃이 파일 시스템에 직접 접근하여 변경사항을 추적하기 때문입니다.
브랜치 기능: 깃은 브랜치 기능을 제공하여 여러 개발자가 동시에 작업하거나 실험적인 작업을 할 수 있습니다. 이를 통해 프로젝트의 안정성을 유지하면서도 새로운 기능을 개발할 수 있습니다.
오픈 소스: 깃은 리눅스 커널을 개발한 리누스 토발즈가 개발하였으며, 오픈 소스로 공개되어 있습니다. 따라서 다양한 사용자들이 기능을 추가하거나 버그를 수정할 수 있습니다.
다양한 툴 지원: 깃은 다양한 툴과 서비스에서 지원되며, 이를 통해 보다 쉽게 깃을 사용할 수 있습니다. 대표적인 예로는 GitHub, GitLab, Bitbucket 등이 있습니다.
깃은 개발자들이 프로젝트를 관리하고 협업하는 데 있어서 매우 중요한 도구입니다. 따라서 프로그래밍 분야에서는 깃을 배우고 활용하는 것이 필수적인 요소 중 하나입니다.
게임 개발 뿐만아니라 거의 대부분의 영역에서 개발자라면, 깃에 대해 한번쯤은 들어보거나 사용해본적이 있을겁니다.
그만큼 깃은 매우 유용하고 중요합니다.
깃허브(GitHub)는 말 그대로 깃을 모아둔 허브입니다. 깃허브가 무엇인지 간단히 알아보고 다양한 기능들도 소개해 드리겠습니다.
깃허브(GitHub)는 깃(Git) 기반의 웹 호스팅 서비스로, 개발자들이 협업하고 소스 코드를 관리할 수 있는 플랫폼입니다. 깃허브는 깃의 장점을 활용하여 소스 코드를 효과적으로 관리하며, 이를 통해 다양한 개발자들과 협업할 수 있습니다.
깃허브는 다음과 같은 기능들을 제공합니다.
버전 관리: 깃허브는 깃을 기반으로 하므로 소스 코드의 버전 관리를 지원합니다. 이를 통해 변경 사항을 추적하고, 이전 버전으로 되돌릴 수 있습니다.
이슈 관리: 깃허브는 프로젝트 관리를 위한 이슈 트래킹 기능을 제공합니다. 이를 통해 개발자들은 프로젝트 관련 이슈를 등록하고, 해결 상태를 추적할 수 있습니다.
협업 기능: 깃허브는 여러 개발자들이 함께 작업할 수 있는 협업 기능을 제공합니다. 이를 통해 여러 개발자들이 동시에 작업할 수 있으며, 변경사항을 리뷰하고 피드백을 주고 받을 수 있습니다.
브랜치 관리: 깃허브는 깃의 브랜치 기능을 제공하여 여러 개발자들이 동시에 작업하거나 실험적인 작업을 할 수 있습니다. 이를 통해 프로젝트의 안정성을 유지하면서도 새로운 기능을 개발할 수 있습니다.
CI/CD: 깃허브는 CI(Continuous Integration)와 CD(Continuous Deployment)를 지원합니다. 이를 통해 개발자들은 자동화된 빌드, 테스트, 배포를 수행할 수 있습니다.
오픈 소스: 깃허브는 오픈 소스 프로젝트를 위한 다양한 기능을 제공합니다. 이를 통해 개발자들은 프로젝트를 공개하고, 다른 개발자들과 협업할 수 있습니다.
웹호스팅: 깃허브는 웹 호스팅 서비스를 제공하여 개발자들이 자신의 코드를 호스팅할 수 있습니다.
소개드린 것 이외에도 깃과 깃허브로 할 수 있는 것은 매우 많습니다. 하지만 역시 깃허브에서 가장 중요한 것은 오픈소스로 누구나 찾아보기 쉽다는 점, 그리고 프로젝트 공유 및 협업을 위해 사용된다는 것입니다.
만약 여태까지 깃과 깃허브에 대해 몰랐다면, 이번 기회에 한번 천천히 알아보는 것도 나쁘지 않을 것입니다. 개발자를 지향한다면 언젠가는 배워야 할 내용입니다.
다음에는 깃과 깃허브를 활용하여 프로젝트나 코드를 관리하는 법에 대해 좀 더 자세히 알아보겠습니다. 감사합니다.
'게임 프로그래밍 > 게임 프로그래밍의 기초' 카테고리의 다른 글
게임 개발의 기초(10) - 깃허브(GitHub) 활용하기 (1) | 2023.04.11 |
---|---|
게임 개발의 기초(9) - 깃(Git) 설치하기, 깃허브(GitHub) 계정만들기 (0) | 2023.04.10 |
게임 개발의 기초(7) - 블루프린트(Blue Print) (0) | 2023.04.09 |
게임 개발의 기초(6) - C++ (0) | 2023.04.08 |
게임 개발의 기초(5) - C# (2) | 2023.04.06 |