GitHub Flow 사용

Master branch를 중심으로 운영되며, 기능 개발, 버그 수정 등의 작업용 브랜치를 구분하지 않는 단순 구조

기능별 브랜치 생성 ⇒ 브랜치별 기능 개발 ⇒ Pull Request 생성 ⇒ 리뷰와 논의 ⇒ 배포 테스트 이후 Main에 merge

2016년 1월부터 2017년 6월까지 우아한 형제들의 안드로이드 모바일 파트에서 사용했으며, 단기간에 소수의 인원으로 배포하는 저희 프로젝트 특성에 맞다고 판단하여 선택했습니다.

적용 방법

  1. Colaborator로 github project에 참가.
  2. 각자 이슈(페이지 생성별, 컴포넌트 생성별) 브랜치 생성
  3. 브랜치 작업 중 commit convention에 따라 커밋하며 완성 후 pull request 생성
  4. 피어 리뷰 혹은 팀 리뷰를 통해 main branch에 merge
  5. 완성된 브랜치 삭제 후 새로 맡은 이슈 브랜치 생성 → 1번으로

Commend

1. 브랜치 만들기: git branch <branchname>
2. 브렌치 전환하기: git checkout <branch>
3. 각자 할 작업 하기: main에 merge하기 전까지 add, commit, push 가능 (commit 컨벤션 지키기 )
4. 메인 브렌치로 전환하기: git checkout main
5. 브렌치 병합하기; git marge <branchname>
6. github에서 pull request
7. 브랜치 삭제: git branch -d <branchname>

Commit Convention

아이콘 코드 설명 원문
💄 :lipstick: UI/스타일 파일 추가/수정 Add or update the UI and style files.
🎨 :art: 코드의 구조/형태 개선 Improve structure / format of the code.
:sparkles: 새 기능 Introduce new features.
⚡️ :zap: 성능 개선 Improve performance.
♻️ :recycle: 코드 리팩토링 Refactor code.
🔥 :fire: 코드/파일 삭제 Remove code or files.
🐛 :bug: 버그 수정 Fix a bug.
🚑 :ambulance: 긴급 수정 Critical hotfix.
🚚 :truck: 리소스 이동, 이름 변경 Move or rename resources (e.g.: files paths routes).
📝 :memo: 문서 추가/수정 Add or update documentation.
🎉 :tada: 프로젝트 시작 Begin a project.
:white_check_mark: 테스트 추가/수정 Add or update tests.
🔒 :lock: 보안 이슈 수정 Fix security issues.
🔖 :bookmark: 릴리즈/버전 태그 Release / Version tags.
💚 :green_heart: CI 빌드 수정 Fix CI Build.
📌 :pushpin: 특정 버전 의존성 고정 Pin dependencies to specific versions.
👷 :construction_worker: CI 빌드 시스템 추가/수정 Add or update CI build system.
📈 :chart_with_upwards_trend: 분석, 추적 코드 추가/수정 Add or update analytics or track code.
:heavy_plus_sign: 의존성 추가 Add a dependency.
:heavy_minus_sign: 의존성 제거 Remove a dependency.
🔧 :wrench: 구성 파일 추가/삭제 Add or update configuration files.
🔨 :hammer: 개발 스크립트 추가/수정 Add or update development scripts.
🌐 :globe_with_meridians: 국제화/현지화 Internationalization and localization.
💩 :poop: 똥싼 코드 Write bad code that needs to be improved.
:rewind: 변경 내용 되돌리기 Revert changes.
🔀 :twisted_rightwards_arrows: 브랜치 합병 Merge branches.
📦 :package: 컴파일된 파일 추가/수정 Add or update compiled files or packages.
👽 :alien: 외부 API 변화로 인한 수정 Update code due to external API changes.
📄 :page_facing_up: 라이센스 추가/수정 Add or update license.
💡 :bulb: 주석 추가/수정 Add or update comments in source code.
🍻 :beers: 술 취해서 쓴 코드 Write code drunkenly.
🗃 :card_file_box: 데이버베이스 관련 수정 Perform database related changes.
🔊 :loud_sound: 로그 추가/수정 Add or update logs.
🙈 :see_no_evil: .gitignore 추가/수정 Add or update a .gitignore file.