본문 바로가기
Git

[Git/깃] 깃으로 그룹 프로젝트 시작하기: 팀 리더가 해야할 일들

by 보먀 2024. 5. 2.
728x90
반응형

오늘의 깃린이 일기는 깃으로 그룹 프로젝트를 하는 방법이다. "코딩알려주는누나" 라는 유튜버 분의 영상을 보고 정리하였다.

 

나처럼 여러 명이서 깃을 사용해서 프로젝트를 해야 하는데 어떻게 시작해야 하는 지 막막한 사람은 아래 링크로 들어가 시청하는 것을 왕 추천한다. 

 


 

그룹 프로젝트에서 리더가 해야할 일들

 

1. 레퍼지토리 만들고 팀원 초대하기

 

레퍼지토리를 만든 후, Invite collaborators 버튼을 눌러 초대 화면으로 들어간다.

 

 

들어가서 Add people 을 누르고 초대할 팀원의 깃 이름을 쳐서 초대를 보내면 팀원의 메일로 팀 초대 연락이 가고 팀원이 초대에 응하면 팀원 추가가 완료된다. 

 

 

2. 프로젝트 환경 세팅하기

 

팀원 초대까지 완료했다면 프로젝트의 환경을 세팅해주어야 한다. 

 

 

- 프로젝트 파일 만들기 + 깃연동 + 깃에 파일 올리기

 

먼저 프로젝트를 할 파일을 만들고, 그 파일을 깃 허브에 올려주는 작업을 해야 한다.

 

로컬에 index.html 파일을 만들고, 터미널을 키면 브랜치가 보인다. 1개의 브랜치가 존재하고 브랜치의 이름 메인 (또는 마스터) 인 것을 확인할 수 있다. 

(메인 (또는 마스터) 브랜치는는 최종 프로덕트 브랜치, 즉 유저에게 보여주는 브랜치라고 생각하면 된다)

 

 

이제 이 터미널 창에 명령어를 순서대로 입력해서 git 이 파일을 추적할 수 있도록 만든 후, 커밋을 해준다. 

$ git init

$ git add .

$ git commit -m "커밋메세지" 

 

 

여기까지 했으면 아래 명령어를 순서대로 입력해서 로컬 저장소에 원격 저장소인 깃을 연결하고 푸쉬해주면 된다. 

$ git remote add origin [연결할 깃 url]

$ git push origin main 

(또는 $ git push origin master)

(이때 깃 url 은 https://github.com/사용자깃허브이름/깃레퍼지토리이름.git 형식이다)

 

 

깃 레퍼지토리를 확인해보면 아까 만든 프로젝트 파일이 올라가 있는 것을 확인할 수 있다. 

 

 

- 새로운 브랜치 만들기

 

이제 develop 이라는 새로운 브랜치를 만들어야 한다. main(또는 master) 브랜치는 최종 프로덕트 브랜치 즉, 유저에게 보여지는 브랜치이므로 완성된 완벽한 코드만이 올라가 있어야 하기 때문에 자유롭게 개발할 수 있는 연습장 같은 브랜치를 만드는 것이다. develop 브랜치의 코드가 완벽해졌을 때 main(또는 master) 브랜치로 올려 합쳐주면 된다.

 

 

아래 명령어를 실행해서 develop 브랜치를 만들고 만든 브랜치를 깃에 올려주는 작업을 한다. 

$ git check -b develop

$ git push --set-upstream origin develop

 

 

작업을 마치면 깃에 develop 이라는 새로운 브랜치가 생긴 것을 확인할 수 있다. 

 

 

- main(또는 master) 브랜치 보호하기

 

main(또는 master) 브랜치는 함부로 수정하고 push 하면 안되는 보호되어야 하는 브랜치이기 때문에 develope 브랜치를 거쳐야만 갈 수 있도록 보호 설정을 해줘야 한다. 

 

 

깃 레퍼지토리에서 Settings -> Branches(화면 왼쪽에 있음) -> Add branch protection rule 을 눌러 들어간다.

들어가면 아래와 같은 화면이 나타나는데 branch name pattern 에 main(또는 master) 을 써준다. 사진에 있는 옵션 두 가지를 선택하고 저장하면 끝이다. 

 

Require a pull request before merging

-> 모두가 코드에 대해 동의를 한 후에 main(또는 master) 로 올라갈 수 있도록 함

 

Lock branch

-> main(또는 master) 브랜치를 read-only 로 만들어서 push 할 수 없도록 함

 

 

3. 프로젝트 보드 만들기

 

Projects -> Link a project -> create new project -> Board

(어떤 형식으로 만들지는 상관 없지만 나는 영상에 나온대로 보드 타입으로 만들었다)

 

 

이 보드에서 해야할 일들을 추가하고 팀원에게 할당도 할 수 있으며, 해야할 일들의 진행상황을 관리할 수 있다.

+Add item 을 눌러 추가하고 드래그를 이용해서 각 칸으로 옮길 수 있다. (feature-A 는 내가 미리 만들어놓은 할 일이다)

 

 

feature-A 를 누르면 아래와 같은 창이 뜬다. 여기서 convert to issue 를 눌러 이슈로 넘어가면 된다. 

이슈를 만드는 이유는 라벨을 사용해서 정리하기 용이하고, 이슈로부터 새로운 브랜치를 만들어서 만들어야 하는 것과 관련된 브랜치를 따로 만들어서 개발할 수 있기 때문이다. 

(feature A 라는 것은 branch A 로 feature B 라는 것은 branch B 로 관리함)

 

 

이슈로부터 나온 새로운 브랜치는 일을 맡은 개개인의 연습장 같은 브랜치로 사용되고, 기능 개발이 완료되면 develop 브랜치로 올리고 develop 브랜치의 개발이 완료되면 또 다시 main(또는 master) 브랜치로 올려서 사용하는 것이다. 

(branch A -> develop -> main(또는 master) 순으로 올리면서 개발)

 

 

convert to issue 를 누르면 아래와 같은 화면이 뜨는데 여기서 Create a branch 를 눌러 새로운 브랜치를 만들어줄 수 있다. 새로운 브랜치를 만들 때 브랜치 소스는 develop 으로 바꾸어서 만들어주면 된다. 

 

 

그리고 내 로컬 작업 환경으로 돌아가서 아래 명령어를 사용해 새로 만든 브랜치를 로컬로 가져온 후, 작업할 브랜치를 바꾸고 작업해주면 된다.

$ git fetch origin

$ git checkout [새로운브랜치이름]

 

 

여기까지가 리더가 해야할 역할들이고 조만간 후속편으로 팀원들은 어떤 일들을 해야하는지 정리해 보겠다!

 

- 끝 - ꙳꒰•◡̎•꒱꙳

 

 

📖 References 📖

https://www.youtube.com/watch?v=tkkbYCajCjM

 

728x90
반응형