<목차>
1. 브랜치 활용하기
2. Pull Request 활용하기
3. 협업 실전 가이드
브랜치 활용하기
-파일을 수정하고 싶은데, 원래 파일을 두고 수정하고 싶을 경우 복사본을 만들지 않고 브랜치를 활용하면 좋음!
-브랜치 === 복사본
*브랜치(복사본) 생성 명령어
git branch 브랜치이름
-브랜치 생성 명령어를 사용했는데 변화가 없는 것 같을때? 브랜치 확인 명령어 사용
*브랜치 확인 명령어
git branch
-확인하고 q를 눌러서 빠져나가면 됨
*브랜치 이동 명령어
git switch 브랜치이름
--보통 이걸 많이 씀
또는
git checkout 브랜치이름
*브랜치 한번에 생성&이동
git switch -c 브랜치이름
또는
git checkout -b 브랜치이름
*새로운 브랜치에서 코드 수정 -> 새로운 브랜치에서 수정된 코드 저장 (git add. -> git commit -m "저장메시지")
*새로운 코드를 짰는데 최신 브랜치가 아닌 main으로 합치는 이유?
-협업을 하기 위해
-결국 최종 브랜치로 하나를 모아야함
*브랜치 합치는 명령어
git switch 최종브랜치이름
git merge 합칠브랜치이름
Pull Request 활용하기
-git merge 보다는 github에서 합치는 경우가 더 많음
-github의 Pull Request를 활용하여 합침!!
-Pull : 당겨서 합치는 것(merge)
-Request : 요청하다
-브랜치에서 코드 수정 -> 새로운 브랜치에서 수정된 코드 저장(git add. -> git commit -m "저장메시지")
-> github 업로드(git push origin 브랜치명) -> github으로 이동
-> github 코드 반영 ( git pull origin 브랜치명)
*순서
1. 브랜치 생성 및 이동
2. 기능 개발 및 코드 저장
3. 코드 업로드 및 pull request 생성
4. github에서 merge
5. 내 로컬에도 반영
협업 실전 가이드
*문제점
-main 브랜치 === 배포용
-pull request 만드는법 & github에서 머지하는 법만 사용하기에는 문제가 많음
*문제점 1
-완벽하게 기능 개발해야 merge 가능
---만드는데 오래걸리거나 버그 수정이 오래걸릴 수 있음
---어디서 문제가 발생했는지 찾는지도 어려움
*해결책 1 - 개발용 브랜치
-develop 브랜치를 만들어놓고 배포할때 main을 사용
*문제점 2
-그냥 합치면 위험함
---에러날 가능성이 큼
---많은 사람이 할 경우 다 에러가 남
*해결책2 - 로컬에서 먼저 테스트
-충돌 해결할때도 이런 방법을 쓰면 좋음
<실전 가이드>
1. 초기 세팅
1️⃣ 팀장 : 초기 코드 작성 및 github 업로드
-폴더생성
-초기 코드 작성
-git init, add, commit
-github 레포지토리 생성
-github 업로드 -> git push
2️⃣ 팀장 : dev(혹은 develop) 브랜치 생성
-git switch -c dev(로컬에서 dev 브랜치 생성)
-git push origin dev(github에도 반영)
3️⃣ github에서 dev 브랜치를 default로 설정
4️⃣ 팀원들을 collaborator로 등록
5️⃣ 팀원 : git clone하기
-git clone 주소 .(점 잊지말기)
2. 기능 개발 시작
1️⃣ 기능 브랜치 생성 및 기능 개발
-git switch -c 기능브랜치명
2️⃣ Pull request 생성
3️⃣ 코드 작성자 : 리뷰 요청하기
4️⃣ 코드 리뷰어 : 리뷰하기
5️⃣ 합치기 전 내 로컬에서 충돌 해결 및 테스트
-기능 브랜치에서 git pull origin dev
6️⃣ merge
-수정사항이 있는 경우 git add, commit, push
-github에서 merge 버튼 클릭
3. 추가 기능 개발
1️⃣ 내 로컬의 dev에도 변경 사항 반영
-dev 브랜치로 이동 (git checkout dev 혹은 git switch dev)
-git pull origin dev
2️⃣ 다음 기능 개발
-기능 브랜치 생성 및 코드 작성
-git add, commit, push
-pull request 생성 및 코드 리뷰
-내 로컬에서 충돌 해결 및 테스트
-코드 업로드 및 merge
'내배캠 > 수준별 강의, 특강' 카테고리의 다른 글
[내일배움캠프/백엔드] 특강. Git 기초 (1) | 2024.10.22 |
---|