Git을 사용하다 보면 브랜치명을 어떻게 지어야 할지 고민하는 경우가 많습니다.
특히 브랜치명에서 단어를 구분할 때 하이픈-
과 언더바_
중 무엇을 써야 할지 고민이 되는데,
실제로 오픈소스 프로젝트나 실무에서는 하이픈-
을 압도적으로 많이 사용하고, 언더바_
는 거의 사용하지 않습니다.
이번 글에서는 왜 git 브랜치명에 언더바를 잘 안 쓰는지,
그리고 이런 관례가 어떻게 자리잡게 되었는지 살펴보고,
마지막으로 오픈소스 프로젝트에서 널리 쓰이는 브랜치 네이밍 컨벤션까지 정리해보겠습니다.
왜 언더바(_)를 잘 안 쓸까?
1. 관례(Convention)의 힘
사실 기술적으로 git 브랜치명에는 하이픈-
과 언더바_
모두 사용할 수 있습니다.
하지만 하이픈-
을 쓰는 것이 업계 표준처럼 자리잡은 가장 큰 이유는 바로 관례(Convention) 때문입니다.
수많은 오픈소스 프로젝트, 글로벌 개발자 커뮤니티, 그리고 여러 공식 가이드에서
하이픈-
을 단어 구분자로 권장하고 있기 때문입니다.
2. 가독성과 일관성
하이픈-
은 영어권에서 단어를 연결하는 표준적인 방식이고,
URL, 파일명 등 다양한 환경에서 문제없이 사용할 수 있고, 사용되고 있습니다.
브랜치명을 여러 사람이 함께 볼 때 하이픈-
이 단어 구분이 더 명확하고,
협업 시 혼동이 적어 일관성을 유지하기 쉽다, 라고들 이야기합니다.
3. 호환성과 실무적 이유
- 하이픈
-
은 GitHub, GitLab 등 주요 플랫폼에서 URL 경로로 아무런 문제 없이 동작합니다. - 언더바
_
는 변수명 등 코드 내부에서 주로 쓰이고, URL에서 가독성이 떨어지거나 가끔 혼동을 줄 수 있습니다. - 일부 명령줄 환경이나 스크립트에서 하이픈과 언더바를 혼동할 수 있어, 오타나 실수를 줄이기 위해서도 하이픈이 선호되기도 합니다.
4. 코드와 브랜치명의 환경 차이
프로그래밍 언어와 Git 브랜치명 사이에 구분자 선택이 다른 근본적인 이유가 있습니다.
코드(프로그래밍 언어)에서는
- 하이픈
-
이 대부분의 언어에서 뺄셈 연산자로 인식되기 때문에 변수명, 함수명 등의 식별자에 사용할 수 없습니다. - 그래서 언더바
_
가 자연스럽게 단어 구분자로 자리잡았습니다. - Python의 snake_case, C/C++의 상수명, Java의 일부 네이밍 등에서 언더바가 널리 사용됩니다.
반면, Git 브랜치명, 파일명, URL 등에서는
- 이런 환경은 “연산이 불가능한 환경”이므로 하이픈
-
을 자유롭게 사용할 수 있습니다. - 하이픈
-
이 단어 구분이 명확하고 가독성이 좋아 기본 구분자로 널리 쓰이게 되었습니다.
즉, 환경에 따라 자연스럽게 네이밍 컨벤션이 달라진 것입니다
- 연산이 필요한 환경(코드): 언더바
_
가 기본 구분자 - 연산이 불가능한 환경(브랜치명/URL): 하이픈
-
이 기본 구분자
어쩌다 관례가 되었을까?
이러한 네이밍 규칙은 공식적인 표준이 정해진 것이 아니라,
수많은 오픈소스 프로젝트와 글로벌 개발자들이 하이픈-
을 꾸준히 사용하면서 자연스럽게 업계 관례가 된 것입니다.
특히 대형 오픈소스 프로젝트(예: React, TensorFlow, VS Code 등)에서 하이픈-
을 적극적으로 사용하고,
GitHub, Atlassian, Microsoft 등 주요 개발 플랫폼의 가이드에서도 하이픈-
사용을 권장하면서
초보 개발자부터 시니어까지 모두가 하이픈-
을 쓰는 문화가 굳어져 발생한 현상입니다.
오픈소스 프로젝트의 브랜치 네이밍 컨벤션 정리
1. 기본 구조
- 카테고리/설명(혹은 이슈번호-설명) 형태가 기본입니다.
- 카테고리: feature, bugfix, hotfix, refactor, docs 등
- 구분자: 슬래시(/)로 카테고리와 설명을 나누고, 하이픈
-
으로 단어를 구분합니다.
예시
1
2
3
4
5
6
feature/add-user-profile
bugfix/fix-login-error
hotfix/urgent-patch
refactor/optimize-database-queries
docs/update-readme
feature/123-add-login
2. 브랜치명 작성 팁
- 짧고 명확하게: 브랜치명은 간결하면서도 목적이 잘 드러나야 합니다.
- 소문자 사용: 대문자보다 소문자를 권장합니다.
- 특수문자 지양: 공백, 특수문자(#, %, & 등)는 피하고, 하이픈·슬래시만 사용.
- 일관성 유지: 프로젝트 내에서 컨벤션을 문서화하고, 팀원 전체가 일관되게 사용해야 합니다.
3. 참고 링크
- Microsoft Learn: Create a new Git branch
- Google Cloud Looker: Using version control and deploying
- How to Contribute to Apache Hive
마치며
정리하자면, git 브랜치명에서 언더바_
를 잘 안 쓰는 이유는
기술적 제약이 아니라 관례와 협업의 효율성 때문입니다.
하이픈-
이 가독성, 호환성, 일관성 면에서 유리하고,
대부분의 오픈소스 프로젝트와 글로벌 개발 커뮤니티에서 이를 표준처럼 지금까지 사용해 오고 있습니다.
우리들 또한 해당 도구들을 이용한다면, 브랜치 네이밍 컨벤션을 정할 때
이런 히스토리와 문화를 이해하는 것도 협업과 유지보수를 용이하게 하는데 도움이 될 수 있습니다.