깃 관리전략 3가지
1.git flow, 2.github flow, 3.gitlab flow
1.git flow 에 대해서 보자
일반적인 머지 방향 feature->develop->release->master
feature: 기능개발단위별생성. develop에 머지후 삭제
develop: 개발용
release: QA용 으로 만들어짐 master와 develop에 머지한뒤 사라짐.
release: 에서 develop으로 머지하는 경우가
뭐가 있을가?? 충돌난 파일 해결하려고 할 수 도 있겠다
master: 배포용 브랜치
hotfix: 긴급버그수정용으로서 master와 develop에 머지한뒤 사라짐
2.github flow
2개의 브랜치만 사용. master, feature
3.gitlab flow
4가지 브랜치
production: 배포용 브랜치
pre-production: QA용, production으로 머지, master로 머지
master: 개발 취합용 브랜치. pre-production으로 머지
feature: 기능별로 만드는 브랜치 master로 머지하고 삭제
커밋메시지 규약
Feat: "친구추천기능추가"
연락처 기반 추천 알고리즘 구현
close: #깃허브이슈번호
제목과 본문 한줄 띄우기
제목 50자이내, 첫글자 대문자
Update code, Fix bug 등으로만 작성
본문은 영문 기준 72자마다 줄바꿈
마침표(.)는 찍지 않는다.
무엇을, 왜 에 맞춰서 작성
issue, pull request 깃허브용 템플릿 만들기
깃허브에서 이슈나 풀리퀘스트 만들때 편리하다
.github 폴더생성
issue_template.md, pull_request_template.md
파일 만들엇 추가하고 내용을 작성하면 됨
pull_request_template.md
## 작업 개요 (이슈 번호)
## 작업 내용 (변경 사항)
## 스크린샷
## 테스트 결과
## 리뷰 요청 사항
구글검색해보니 체크리스트도 집어 넣을 수 있다
## Describe your changes
## Issue ticket number and link
## Checklist before requesting a review
- [ ] I have performed a self-review of my code
- [ ] If it is a core feature, I have added thorough tests.
- [ ] Do we need to implement analytics?
- [ ] Will this be part of a product update? If yes, please write one phrase about this update.
issue_template.md
## 목적
## 세부 내용
깃허브에서도 이슈템플릿을 만들수 있다
branch protection 하기
다른 브랜치도 Add rule 버튼을 통해 세팅할 수 있다
만약 이름에 feature* 라고 적으면 feature 글자로 시작하는 모든 브랜치에 적용된다
git pull 에러 해결방법
git pull origin main --no-ff
받아서 충돌해결하고 다시commit 하고 push 하믄된다
GIT 협업 절차
1.git 관리 전략 선택
git flow, commit convention, issue/pull request template, issue lable 정하기
2.github repo 팀장이 생성. Collaborator 등록
3.작업 기능 세분화 기획하기
4.milestone 생성. 각자 담당자 정하기 issue 생성
5.팀장 branch protection 설정하기
팀장은 git flow에 필요한 branch 생성하기
6.팀원은 main브랜치 clone받고 각자 branch 생성해서 작업하기
7.팀원은 작업완료시 pull request
8.코드 리뷰 후 approval, conversation 등 처리.
9.팀장 merge