Github or Gogs는 웹기반 플랫폼으로, Git이라는 버전 관리 시스템을 사용해 소프트웨어 프로젝트의 변경 사항을 관리하고 추적합니다. 버전관리, 버그추적, 프로젝트관리 등 개발자가 코드를 관리하고 추적하는데 도움을 주는 기능과 도구를 제공합니다.
Git을 사용하면 복잡한 과정 없이도 팀 개발자들과 간편하게 코드를 주고받을 수 있으며, 여러 명이 동시에 동일한 코드를 작업하는 병렬 작업이 가능합니다. 또한, Git을 통해 잘못된 코드의 생성을 방지하고, 필요한 경우 새로운 버전에서 이전 버전으로 손쉽게 돌아갈 수 있습니다. 개발자 간 로컬에서 코드를 공유할 때 잘못된 코드나 오류가 포함되어 프로젝트에 문제가 발생할 수 있는데, Git의 버전 관리 기능을 활용하면 이러한 에러를 사전에 방지하고, 항상 안정적인 코드를 유지할 수 있습니다.
요컨대, Git을 사용하면 버전 관리, 협업, 코드 리뷰, 통합, 보안 등 여러 측면에서 큰 이점을 얻을 수 있어 전 세계 개발자들이 널리 사용합니다. Git은 대기업이나 중견기업뿐만 아니라 스타트업에서도 코드를 안전하게 관리하기 위해 선호하는 도구입니다.
현재 회사에서는 GOGS를 사용합니다.
Gogs는 Go언어로 만들어진, Github과 비슷한 서비스를 제공하는 웹 서비스 어플리케이션입니다. github과 사용법은 차이가 있다는 점 유의하여 진행하시길 바랍니다.
Git에서 모든 개발자가 공통으로 관리하는 중요한 브랜치가 바로 master 또는 main 브랜치입니다. 이 브랜치는 실제 사용자에게 제공되는, 즉 사용자가 체감할 수 있는 중요한 브랜치입니다. 그래서 보통 master나 main 브랜치에 대한 merge 작업은 시니어 개발자, 테크 리더, 혹은 경력이 많은 개발자만이 담당합니다.
이러한 조치는 간단한 이유에서 비롯됩니다. 여러 사람이 함께 개발하는 프로젝트의 경우, 각자 사용하는 개발 환경이 모두 다르며, 코드가 충돌하거나 오류가 발생할 가능성이 언제든지 존재합니다. 이러한 상황에서 경력이 많은 개발자가 관리하고 충돌을 해결하는 과정을 진행하며 코드 리뷰를 통해 잘못된 코드를 사전에 방지하고, 이를 통해 보다 원활한 협업을 증진시킵니다.