[스파르타코딩클럽] 핵심 쏙쏙 Git - 2주차 (1) git으로 협업하기(issue, branch, merge)

posinity·2023년 5월 25일
0

Git 협업 시나리오

오픈소스 컨트리뷰션 : 오픈소스에 기여하는 것

  1. 누가 이 작업 할 것인지 정한다.
  2. 각자 맡은 것을 작업한다.
  3. 각자 작업을 프로젝트에 합칠 수 있게 공유한다.
  4. 작업한 내용을 리뷰하고 최종적으로 프로젝트에 반영한다.

누가 이 작업할 거에요? - Issue 할당

  • 개발자들은 이렇게 이슈라는 말을 사용하죠!
    • "회원가입 기능에서 버그있네요. 이슈 등록해둘게요."
    • 여기 버튼을 더 눈에 잘 보이게 고치면 좋겠는데요? 이슈 등록해둘게요.
    • "6번 이슈 제가 처리할게요. 제 앞으로 할당해두겠습니다!"

이슈 만들기

github 레포에 들어가 new issue 클릭

  • Assigness(담당자) : 이 이슈를 작업하거나 연관된 사람. assign yourself로 나를 바로 선택할 수도 있음
  • Labels: 이 issue 가 어떤 건지 분류. Github이 만들어준 기본 라벨을 사용할 수도 있고, 내가 직접 만들수도 있음. 여기서는 enhancement (추가 기능 개선) , good first issue (처음 프로젝트에 참여하는 사람이 작업하기 쉬운 이슈) 등 원하는 것 고르기

이슈 확인하기

이슈를 만들면 제목 옆에 #숫자 가 표시되어 있는 것을 확인할 수 있음

이슈 닫기

더 이상 이슈를 남겨 두는 것이 필요 없거나 작업이 완료되면 이슈를 종료한다. close issue를 누른다. 필요하다면 다시 reopen을 눌러 이슈를 열어줄 수 있다.

커밋할 때 이슈 번호 쓰기


커밋할 때 뒤에 이슈 번호를 쓰면 이슈에 자동으로 떠진다.

이슈에 대한 더 자세한 활용법

GitHub를 활용한 이슈 관리
위 블로그에 설명되어 있음.

각자 맡은 것을 작업한다. - 브랜치와 체크아웃

  • 브랜치(branch) : 특정 커밋에서 갈라져 나와 작업할 수 있게 됌. 기능별로 이름을 만들어 브랜치에 작업해줌
  • 체크아웃(checkout) : 작업할 브랜치로 바꾸는 것

각자 작업을 프로젝트에 합친다. - merge

머지 하는 법

1. 합치려는 브랜치에 checkout 한다.

feauter/test 브랜치를 dev로 합치고 싶을 때,
dev에 체크아웃해준다.

2. 오른쪽 상단에 병합 클릭

클릭하고 나오는 창에서 아래 옵션 3개를 선택한다.

개발할 때는 기준이 되는 기본 브랜치를 정해놓고 다른 브랜치들을 기본 브랜치에 merge한다.

+) 구글링 꿀팁

궁금한 것은 기술 + 단어 조합으로 하면 훨씬 더 좋은 결과를 얻을 수 있음. 예) sourcetree branch

  • 검색어 팁
  1. 기술을 처음 배우고 싶을 때 : 기술이름 + 튜토리얼 - git tutorial
  2. 기능을 찾을 때 : 기술 이름 + how to + 찾을 내용 - git how to merge
  3. 예제를 보고 싶을 때 : '기술 이름' + 내용 + example - github flow example
  4. 원하는 사이트명 포함해 검색하기 : stackoverflow git merge

원격 repo

  • tracking 한다 : 로컬 레포와 원격 레포의 특정 브랜치를 연결해주는 것

+) 제대로 학습하기

실제로 배우고 학습하려면 머리를 쓰는 느낌이 나야 한다. 스스로 난이도 조정 해보기

- 내용이 쉽다 → 난이도 높이기

→ 추가자료 읽어 보고 생각/실제로 해보기
→ 나만의 실험 고안하기
→ 에러를 일부러 내보고 해결하는 거 구글링해보기
→ 그 과정에서 내가 깨달은 것 TIL 에 적어보기

- 아 적절해요 좋은데요?

[👩‍🍳 배웠으면 써먹자] 다양하게 시도해보기
→ 그 과정에서 내가 깨달은 것 TIL 에 적어보기

- 너무 어렵다, 집에 있어도 집에 가고 싶다! 🏠 → 난이도 낮추기

→ 영상 보면서 천천히 시간 들여서 따라해보기
→ 그 다음에 다시 [👩‍🍳 배웠으면 써먹자] 시도해보기
내가 어려워했던 내용이 무엇인지 정리해보기
→ 그 과정에서 내가 깨달은 것 TIL 에 적어보기

어떻게 하면 난이도를 높이거나 낮출 수 있을지, 내가 지금 어떤 상태에 있는지 스스로 질문을 던져보자!

최종 정리

git으로 협업할 때는 아래의 단계를 따른다

누가 이 작업을 할 것인가 결정하고 issue 할당하기 > branch를 파서 각자 작업하기 > 각자 작업한 내용을 프로젝트에 merge 하기 > 리뷰하고 최종적으로 프로젝트에 반영하기 (PR후 머지)

profile
문제를 해결하고 가치를 제공합니다

0개의 댓글