1. create repository
프로젝트 취지에 맞게 설정해준다.
2. 원격과 연결
git init
git commit -m "<커밋 메시지>"
git branch -M main
git remote add <레포지 주소>
git push -u origin main
git branch -b dev // 개발 브랜치 만들기
차례대로 위의 명령어를 입력해준다. main 브랜치는 배포용이고 dev 브랜치는 개발용이다.
3. 팀원들을 초대한다.
내가 만든 레포지토리에 settings를 들어가면 collaborators가 있다. 여기에 add people을 눌러 팀원들의 깃허브 네임이나 깃허브에 등록된 이메일을 적는다. 그럼 팀원 이메일로 join mail이 전송될 것이다.
그리고 팀원들은 join 후, clone까지 진행하면 된다. (팀원은 2번 할 필요 없이 init과 clone만 진행!)
4. 이슈 생성
Jira와 같은 애자일 플랫폼에서 해야할 일을 이미 정해두었을 것이다. 그럼 이슈목록에 들어가 그 해야할 일을 적어두고 할당을 해준다.
New issue 클릭
issue(해야할 것)을 적은 후 할당까지 해준다. 그리고 submit new issue 클릭하여 issue를 등록한다.
5. 개발할 branch만들어 작업 후 branch 삭제
git branch라는 명령어를 사용하면 프로젝트 안에 존재하는 총 branch와, 내가 지금 어떤 브랜치에 있는지 나온다. 색있는 색이 내가 존재하고 있는 브랜치다.
이제 내가 작업할 브랜치를 생성한다.
나는 feature/1이라는 브랜치에서 'test code 작성' 이라는 이슈를 행할 것이다.
이슈를 수행한 후 레포지에 push를 해준다.
push 할 때는 반드시 내가 작업한 브랜치로 해줄 것!
git push origin <내가 작업한 브랜치>
git hub에 협업하는 레포지로 돌아와서 (반드시 내 닉네임에서 레포지로 들어가야함. 가끔 organization에서 들어가서 pr 안 뜨는 경우 있음. 위에 짤린 별 표시 확인!)
가운데에 branch를 내가 작업한 브랜치로 설정한 후 뜨는 compare & pull request를 눌러준다. 깃 플로우에서는 브랜치 설정이 굉장히 중요하다. pr이 안 뜬다면 혹시 다른 브랜치로 설정되어있지는 않은지 체크할 것.
그리고 여기서도 브랜치 설정을 잘 해주어야한다. 내가 작업한 브랜치에서 dev (개발용 브랜치)로 pr을 올린 후에 머지를 기다리면 된다!
머지 권한이 나한테 있어서 나는 내 것 머지하면서 다른 사람 것도 머지를 해주었다. 나는 머지 후에는 comment로 머지 완료했다고 써준다. comment에는 팀원들이 files changed를 보고 의문점이나 더 나은 방향을 제시해주어도 된다.
내 할일이 다 끝났으니 issue를 지워준다.
pr에 가서 원격에 업데이트 해주었으니 작업했던 branch는 삭제해준다. 그리고 dev 브랜치가 업데이트 되었다면 pull 당겨오고 다시 branch 만들어서 작업하고 삭제하고의 반복을 해주면 된다.
원격에서 branch 삭제했는데 로컬에서 pull해줘도 브랜치가 남아있을 때가 있다. 그럴 때는 dev 브랜치에 이동 후(dev 아니어도 다음 작업을 위한 브랜치 생성 후 거기로 이동해도 된다) 브랜치를 강제 삭제한다.
git branch로 확인을 해보니 잘 삭제된 것을 알 수 있었다.
6. 배포용 브랜치에 합치기
dev에서 test도 끝나고 완벽하게 구현이 되었다! 이제 배포할 수 있다! 하면 그때 main (master) 에 dev브랜치를 합쳐주면 된다. dev -> master의 방향으로 흐르게끔 설정 후 create pull request 누른 후 ! 머지누르면 끝
나도 처음엔 브랜치 타는 것에 혼란스러웠는데 프록시 개념 생각하면 좋을 것 같다. 수정을 용이하게 하기 위해 main(찐찐최종) <- dev(찐최종) <- 내가만든 branch(최종) 의 느낌이랄까? 이렇게 흐른다. 찐찐최종본을 수정하면 그건 찐찐찐 최종이 되어버리니까.. 그건 최종이 아니니까 main에는 최대한 찐막최종을 올린다.
다음번엔 git action 사용 법을 알려주겠다!
아참 branch setting을 통해 branch 마다 설정도 바꿀 수 있는데.. 그것 또한 다음 기회에..! 손아파!
'Git Hub' 카테고리의 다른 글
.gitignore에 작성한 파일이 업로드 됐을 때 (0) | 2023.10.17 |
---|---|
fatal: in unpopulated submodule 'spring-cloud-gateway-study' (1) | 2023.10.17 |
레포지토리 하나에 프로젝트 여러개 올리기 (0) | 2023.10.16 |
Eclipse - GitHub 연동하기 (0) | 2023.07.03 |