Git

Git branch 전략 예시

Jerry_K 2024. 3. 20. 14:16

이제 학교 팀 프로젝트를 하는데,

이번에는 좀 체계적으로 깃을 관리하고 싶다.

 

그래서 프로젝트를 본격적으로 시작하기 전, 

깃에 대해 공부하고 전략을 짜고 있다.

 

간단하게 Git 전략 예시를 실습해보자.

이거를 여러번 반복해서 익숙해지면 좋을 것 같다.

 


- 기본 세팅

 

먼저 깃허브에 test 레파지토리를 만들고, 

내 컴퓨터 바탕화면에 git_test 폴더를 만들었다. 

 

 

 

위에 깃허브에서 제공하는 

...or create a new repository ~~  코드 부분을 복붙하고

로컬과 원격 저장소를 연결 시켰다. 

 

그런 다음 visual studio code에 들어와 git graph 툴로 

내가 만들 브랜치들을 시각화하여 확인한다.

 


- Develop 브랜치 세팅

 

git branch develop 명령어를 통해 develop 브랜치를 만들었다.

그리고 git branch를 통해 develop 브랜치 생성된거를 확인했다.

(main은 마지막 배포에쓰고, develop에서 브랜치들이 분기될 것)

 

 

 

그리고 git push origin develop을 하여

로컬 저장소에 있는 브랜치를 원격 저장소에 저장했다. 

 

 

 

이후 setting -> Default branch -> develop에 들어간 후 Update를 클릭하면 

Default branch가 변경이 된다.

 

 

 

그리고 Collaborators -> Add people을 통해 협업 할 사람들을 초대한다.

 


- Feature 브랜치 세팅

 

해시 번호 #1번으로 생성

 

Issues -> New Issue를 통해 개발 할 것을 이슈 생성 한다. 

 

 

git pull origin develop 명령어로 

원격 최신 버전을 로컬에 맞춰 준다.

 

 

 VS Code 터미널에 git switch -c Feat/## 을 하여

Feat/## 브랜치를 만들고 바로 해당 브랜치로 이동한다. 

 

touch 개발중.txt 명령어는 해당 파일을 만들어주고, 텍스트 파일에 아무 글이나 써보자.

(실제로는 여기서 개발을 열심히 진행하면된다.)

 

 

 

위에 개발이 되면  git add . / git status를 통해 스테이지에 올리고 확인한다. 

그리고 git commit -m '개발완료' 명령어로 로컬 저장소에 저장한다.

 

 

 

로컬 저장소에 저장 한 다음, 원격 저장소에 저장하려면

git push --set-upstream origin Feat/##  명령어를 쓰면 된다.

(이 명령어는 외울 필요없이, git push해서 안되면 아래 추천 코드 뜨는거 복붙하면 된다)

 


- 브랜치 merge

 

 

여기까지 잘 되면 깃 레파지토리에 이런 알림이 뜬다.

그리고 Compare & pull request 버튼을 눌러준다.

 

 

 

Feat/## 에서 develop으로 merge 되는지 방향 체크 해주고,

Add a description에 내용 작성하고, 

좀 전에 issue 했던 해쉬번호를 작성한다.  (PR 완료되고 merge가 되면 issue 자동 삭제)

그리고 Reviewers (협업하는 사람)들에게 PR을 날려준다. 

 

 

 

 

PR을 날렸고 , 충돌이 나지 않음을 확인한다 .

 

 

 

 

팀원들은 File changed로 들어가 코드 리뷰를 해준다.

코드 리뷰가 완료되면 Finsish your review에 들어가  merge를 승인 할지를 정한다. 

 

 

 

팀원의 merge 승인이 완료되면, 

 Merge pull request 버튼을 눌러 내가 최종 승인을 하면 되는 것이다 .

 

그리고 Feat/## 에서 생각한 기능은 다 구현이 되었기 때문에, 

Delete branch를 통해 해당 브랜치 지워준다. 

(버튼으로 지우는 방법 말고,  로컬환경에서 git push origin -d 브랜치이름으로도 삭제 가능)

 

 

 

 

##의 개발은 다 완료가 되었기 때문에,

아까 생성한 issue는 Close issue를 해준다. 

 

 

Code로 돌아와 보면 Feat/## 브랜치가 지워졌고, 

개발중.txt가 성공적으로 merge 된 것을 볼 수 있다. 

 

 

로컬 저장소로 돌아와 Feat/## 브랜치 삭제도 잊으면 안된다. 

(git branch -d Feat/##)

 

Feat/## 브랜치에서 다른 브랜치로 이동하고 삭제를 해주었다.

브랜치를 확인해보면 Feat/## 가 삭제 된 것을 확인 할 수 있다.

 

*  git pull은 항상 develop 브랜치에서 한다 


 

간단 요약  :

깃 레파지토리 생성  -> develop 브랜치 생성 -> issue 생성 후 feature 브랜치 생성 -> feature 브랜치 개발 -> PR 요청 및 승인 ->  merge -> featue 브랜치 삭제 

'Git' 카테고리의 다른 글

Git branch protection rule setting (기초)  (0) 2024.03.28
Git commit 템플릿 만들기  (0) 2024.03.20
Git branch  (1) 2024.03.19
Git/Git hub 기초 명령어  (0) 2024.03.18
Git 설치(Windows) 및 간단 설정  (0) 2024.03.18