Branch와 Pull Request

Branch(git)

  • branch(git) : 분기를 만들어 기능 단위로 나눠서 작업함
  • git add/commit (특정 branch 내에서만 활동)
  • merge (branch 병합)

git branch 생성하기

  • git branch : main(or master) 생성
  • git branch : branch 확인
  • git branch a : ‘a’ branch 생성
  • git checkout a : ‘a’ branch로 이동

git merge 하기

  • git checkout main(or master) : main(or master)로 이동
  • git merge a : ‘a’ branch merge
  • git commit -m””

branch 전략

  • Git-flow : main, hotfix, develop, feature, release
  • GitHub-flow : main, branch
  • Feature branch : main, develop, feature (추천)

PR(gitHub)

  • 내가 한 변경 내용을 원래 프로젝트에 합쳐달라고 요청하는 작업

  1. 초기 셋팅 (팀장 역할)
    • GitHub와 로컬 연결하기
    • 기존 파일이 없을 때 > git clone “” .
    • 기존 파일이 있을 때 > git init > git remote …
  • WIKI 문서 작성 (컨벤션, 규칙) + README
  • dev branch 생성

      git branch
      git branch dev
      git push --set-upstream origin dev
    
  • [Github-Repository] > settings > General > Default branch > dev 선택
    • dev에 먼저 merge
    • ⚠️ main에 merge는 팀장만 > 최종 publish
      1. 프로젝트 (Projects)
    • 프로젝트 생성
    • 공유시 Project settings > visibility > public 으로 변경
      1. 이슈 (Issues)
    • ⚠️ 모든 기능 개발은 Issues에서 시작
      1. [Github-Repository]에 Issue 생성
      • [Github-Repository] > Issues > New Issue > create a branch (ex. feat/header)
        • Add a title: 기능 이름 생성
        • Add a description: 기능 내용 생성
        • Assignees: 팀원 선택
        • Labels: bug, duplicate, enhancement, good first issue, help wanted, invalid, question, wontfix
        • Projects: Project 선택
          1. [로컬]에서 연결 및 작업
      • [로컬] > 아래 코드 입력

          git fetch origin
          git checkout 브랜치명
        
      • 로컬에서 작업 진행

          git add . 
          git commit -m "커밋 내용"
        
          # git push 는 기능 단위로 (원격저장소에 올리기) 
          git push
        
    1. [Github-Repository]에서 PR
      • [Github-Repository] > Pull Request > ⚠️ delete Branch
      • [로컬] > ⚠️ delete Branch
       로컬 작업 → commit → push → GitHub 저장소
                            ↓
                        issues (버그/할일 기록) → projects
                            ↓
                        pull request (코드 합치기 요청)
                            ↓
                        Merge 완료
                            ↓
                        해결된 Branch 삭제 (main / dev 만 남게)