-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
브랜치
main: 프로덕션 브랜치(최종)develop: 개발 통합 브랜치(모든 PR은 여기로 날리기)feat/00: 개인 작업 브랜치(기본)feat/00-기능명: 추가 브랜치 생성해야 하는 경우
저장소 클론 & 초기 설정
# 저장소 클론
git clone https://github.com/pirogramming/ReCapture.git
cd ReCapture# develop 브랜치로 이동
> checkout 대신 switch 써도 크게 상관없음
> 현재 작업 브랜치 develop으로 바꾸기
> 원격 develop최신 커밋 가져오기+로컬 develop에 합침(fetch+merge)
git checkout develop
git pull origin develop가상환경 설정
#가상환경 생성
python -m venv venv
python3 -m venv venv #macOS
#가상환경 활성
venv\Scripts\activate #windows
source venv/bin/activate #macOS/Linux
#성공하면 터미널 앞에 (venv) 표시됨!requirements 설치/동기화 규칙
📌새 패키지 추가한 사람은 requirements 갱신 커밋 필수
- 설치
pip install -r requirements.txt- requirements.txt 수정하는 경우
#필요한 패키지 설치
pip install <패키지명> # 예: pip install opencv-python
#requirements.txt 갱신
pip freeze > requirements.txt #⚠️ 반드시 venv 켠 상태에서
#변경 내용 확인
git diff requirements.txt- 변경된 requirements.txt 받아온 경우
#최신 코드 pull한 뒤에 다시..
#새로 추가된 패키지 설치, 기존 패키지는 자동 스킵/업데이트
pip install -r requirements.txt 마이그레이션 규칙
📌 모델 변경 시 생성되는 migration 파일은 커밋에 포함
- 초기
python manage.py migrate- 모델 바꾼 사람
python manage.py makemigrations
python manage.py migrateMerge후 & develop 최신 코드 pull
# develop 브랜치로 이동
git checkout develop
#최신 코드 받아오기
git pull origin develop
#이렇게 하면 로컬 develop = 원격 develop 최신 상태# develop을 개인 브랜치에 합치기
git checkout feat/00 #개인 브랜치 이동
git merge develop # develop을 내 브랜치에 합치기원격 develop에 푸시(push)
- 전체 올리기
git add .- 특정 파일만 올리기(변경된 파일)
# 변경 파일 확인
git status
#또는 변경 파일만 목록으로
git diff --name-only
#특정 파일만 add
git add 경로/파일명- 커밋(commit)
git commit -m "[feat] 설명"- 원격 develop에 푸시(push)
git push origin develop자주 쓰는 commit type 모음
[feat]: 새 기능 추가[fix]: 버그 수정[docs]: 문서(README 등) 수정[style]: 코드 동작 변화 없는 스타일 수정(공백, 세미콜론, 포맷)[refactor]: 리팩토링(기능 변화 없이 구조 개선)[test]: 테스트 추가/수정[chore]: 빌드/설정/패키지/잡일(의존성, gitignore, CI 등)[perf]: 성능 개선
commit 작성 예시
ex) [feat] 로그인 기능 구현
사실 알아볼 수만 있으면 크게 상관 없음..
⚠️ 주의사항⚠️
- 작업 시작 전 항상 develop에서 최신 코드 pull !!
- 뭐든 문제/상의할 것들 생기면 단톡방에 사소한거라도 다 공유하기!!!
(새벽형 인간이라 확인잘함) - merge중 충돌 생기면 공유하기!!!
- migration 파일 추가/변경 & requirements.txt 변경/추가 경우에는 꼭 알려주세요
(카톡+PR) - PR은 develop 브랜치로 생성
- 항상 본인의 feat/ 브랜치에서 작업
- 마이그레이션 파일도 함께 커밋
- develop 브랜치에 임의로 푸시 금지
- main 브랜치에 임의로 푸시 금지
Metadata
Metadata
Assignees
Labels
No labels