팀 프로젝트마다 브랜치를 사용하는 방법은 다양하다.
이것을 Git branch 전략이라 하며, 아래에 제시된 방법은 전략 중 GitHub flow 방법이다.
Git
팀마다 브랜치 전략은 다르다. 정론은 없으나 아래는 내가 주로 사용한 방법이니, 처음으로 프로젝트를 진행하는 사람들한테 도움이 되길 바라면서 글을 작성해보았다.
이 글은 본래 학회 활동을 하면서 학회원들에게 가이드라인을 위해 작성한 글이니, 가끔 말투가 이상한 부분이 있으니 이해 바랍니다.
참고자료
Git branch 전략(Git-Flow, Github-Flow, Gitlab-Flow)
이 블로그에서 GitHub flow 참고
프로젝트의 브랜치 전략 사용방법
주의: 항상 자신이 현재 어떤 브랜치에 있는지 확인할 것!
중요한 부분만 적어놨습니다. 필요없는 부분은 전부 생략했으니 아래의 모든 텍스트가 소중합니다.
터미널에 코드를 복붙하기 전에 아래 설명글을 먼저 읽어보는걸 추천해요
1. main에서 새로운 기능을 작업할 branch 생성
// 무조건 main에서 사용해주세요.
git switch -c feature/BE/작업할-기능-영어로
위 명령어를 입력하면, branch는 자동으로 생성된 브랜치로 이동한다.
feature/BE 부분은 보통 작업/패키지이름 이렇게 구성되기에 팀적으로 따로 컨벤션을 정하는게 좋을것이다.
2. 새로운 브랜치에서 작업한 내용을 staging
// 변경사항을 스테이징한 뒤 커밋 시도
git add .
여기서 .은 현재 폴더를 뜻한다.
git add .
현재 폴더를 기준으로 하위 폴더까지의 변경 사항을 감지한 뒤 스테이징 할 수 있다.
(스테이징 →Stage Fixes를 뜻한다.)
3. staging 된 모든 변경 사항을 commit 하기
git commit -m "feat: 내가 작업한 내용"
여태까지 스테이징된 변경사항을 모두 로컬
저장소에 추가(내가 작업한 내용을 로컬
에 저장)
4. 로컬 저장소에 반영된 변경사항을 원격 저장소에도 반영
// git push -u origin 내가 사용하는 브랜치 이름
// 만일 내가 작업하던 브랜치 이름이 feature/BE/create-card면
git push -u origin feature/BE/creat-card
주의!!!!!) 최초 1회만 진행 -u는 새로 생성된 브랜치에서 원격 저장소에도 브랜치를 생성해야하기 때문에 사용한 옵션!
이후에 똑같은 브랜치에서 작업할 경우 git push origin feature/BE/creat-card
하면 됨
5. Github 사이트의 레포지토리에 들어가면 pull request 알림이 발생
현재까지 로컬 저장소에만 변경사항이 반영되었다.
이제 원격 저장소에도 반영해줘야겠죠?
github 웹사이트의 pull request에 들어가서 merge하면 main에 반영된다.
위의 이미지처럼 노란색 박스의 알림창이 발생!
compare & pull request 클릭! ← 아직 merge 된거 아니다!
이후 작업 내용을 기입한 뒤, pull request 클릭! ← 아직도 merge 된거 아니다!!
그리고 merge 버튼을 눌러주세요.
6. merge가 완료되었다면 다시 main 브랜치로 복귀
git switch main
git pull origin main
main으로 swtich를 사용해서 이동한 뒤, pull로 최신 변경 사항 반영
새로운 작업을 시작하게 되면 1번
부터 다시 반복
'GitHub' 카테고리의 다른 글
[깃허브][Mac] 깃허브 프로젝트 한꺼번에 올리기 (0) | 2024.01.17 |
---|