---
# System prepended metadata

title: 깃헙 사용 방법 정리

---

# 깃헙 사용 방법 정리

## 새로운 기능 개발버그 발생
- 이슈 오픈
    - 이슈 오픈 주소 
        - https://github.com/JEONG-JIWOO/PinoBot/issues
    - 이슈 예시
        - https://github.com/JEONG-JIWOO/PinoBot/issues/5
- 브랜치 생성
    - master 혹은 dev로부터 브랜치 생성
    - 브렌치 네이밍
        - 버그의 경우 ex ) `fix-config-file-read-error`
        - 새로운 기능의 경우 ex ) `feat-create-servo-motor-module`


- 버그 수정 
    - 버그 및 코드를 수정하고 로컬에서 테스트 ,
    - commit
    - 해당 브랜치 push. 
```
- feat: 새로운 기능을 추가할 경우
- fix: 버그를 고친 경우
- docs: 문서 수정한 경우
- style: 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우
- refactor: 프로덕션 코드 리팩터링
- test: 테스트 추가, 테스트 리팩터링 (프로덕션 코드 변경 없음)
- chore: 빌드 테스크 업데이트, 패키지 매니저 설정할 경우 (프로덕션 코드 변경 없음)
```

- Pull Request(PR) 만들기
    
    - dev로 merge 할경우 풀리퀘스트가 필수는 아니지만 master로 merge 할경우에는 필수. 

    - Pull Request 하는법 
        - 1. Pull Request 페이지 접속
            - https://github.com/JEONG-JIWOO/PinoBot/pulls 
        - 2. Create Pull Request 클릭 
        - 3. Pull Request 상세 내용 작성후 생성 
            - base: master 혹은 dev
            - compare: dev 혹은 새로 생성한 브랜치
            - ex ) `master <- dev`
            - ex ) `dev <- feat-create-servo-motor-module`

        - 4. PR 상세 옵션 설정
            - Reviewers
                - 내 코드를 봐줬으면 하는 사람들
            - Assignee
                - 이 코드를 만든 사람들
            - Labels
                - 긴급, 버그픽스 등 태그를 붙일 수 있음
            - Linked issues
                - GitHub issue에 올린 이 코드에 대한 이슈 연결
        
        - 5. Pull Request 수정할때.
            - Pull Request 페이지에서 Edit 버튼 이용 수정가능.
        

    - 모든 사람이 `Approve` 했을 때(필수는 아님) PR 페이지에서 `Merge pull request`버튼을 눌러서 머지한다
    - Merge 이후 브랜치 삭제(단, dev 브랜치는 삭제 하지 말아야 함) 

- 이슈 Close
    - 이슈 페이지에서 코멘트 단 이후 close. 


# 다른사람의 pull request 확인하기 

- pull request 확인
    - 이메일로 전송 혹은 깃허브 알림 발생 
    - 매일 1회이상 확인 필수!

- pull request Review. 
    - File Changes에서 수정된 코드 확인 및 코멘트
    - 코멘트 하기를 원하는 코드 왼쪽의 `+`버튼을 눌러서 코멘트를 단다
    - 모든 코멘트 달기가 끝났으면 오른쪽 상단의 `Finish your review`를 눌러서
        - Approve 
            - 해당 코드가 올라가도 좋다는 승인
        - Request changes
            - 이 코드들은 수정이 필요하다는 의견



# master <- dev Pull Request 실행, 

- Pull Request 생성 

- Pull Request Merge

- Actions 탭 (https://github.com/JEONG-JIWOO/PinoBot/actions)에 보면 lint가 실행되고있음 
    -  lint 시행시 아무문제 없으면 