본문 바로가기
Git · GitHub

[깃] git issue, branch, merge 정리

by 메이플 🍁 2022. 4. 6.

⚠️ 이 포스팅은 핵심 쏙쏙 Git을 공부하고 정리한 블로그 포스팅입니다 ⚠️

 

포스팅에 해당하는 목차는 다음과 같습니다:
2주차 

  • 2-2 누가 이 작업할 거에요? - Issue 할당 
  • 2-3 각자 공간에서 작업하기 - Branch - 개념
  • 2-6 작업 내용 합치기 - Merge(병합) -개념

 


 

프로젝트를 여러 사람과 함께 작업할때는 일을 분담하여 각자 코드를 작성한 뒤 나중에 합쳐주는 절차를 가진다.

  • 1단계: 누가 어떤 작업을 할 것인지 정한다 (issue) - issue 생성한 뒤 task를 나눈다
  • 2단계: 맡은 task를 개인 공간에서 작업한다 (branch) - issue별로 새로운 branch를 만들어 각자 공간에서 작업한다
  • 3단계: 각자 일하고 있던 작업을 하나로 합친다 (merge) - 사용한 branch를 하나로 병합해준다
  • 4단계: 경우에 따라 작업한 내용을 리뷰하고 최종적으로 프로젝트에 반영한다 - PR(pull request) 후에 merge한다

 

Issue

issue란?

버그 리포트 예시

  • 프로젝트에서 해결해야하는 문제
  • 일반적으로 협업을 하기위해 issue를 만들어 누가 작업할지 정한다

issue에 추가해줄 수 있는 내용

  1. 내가 할 작업 (feature)
  2. 버그 신고 (bug report)
  3. 기능 추가 등의 프로젝트 개선 제안 (enhancement)

 

branch

branch란?

  • 특정 커밋에서 갈라져나와 독립적으로 코드를 변경할 수 있도록 도와주는 모델
  • 여러사람이 같은 프로젝트에서 협업할 수 있도록  수정할 수 있게 도와줌
  • 커밋 사이를 가볍게 이동할 수 있는 포인터
  • 이미 작업하고 있는 리포지토리의 버전의 복사본

branch를 사용할때

  1. 같은 리포지토리를 여러명이 작업하고 싶을때 사용
  2. 기능 단위별로 작업을 분리하고 싶을때 사용

git branch 명령어

새브랜치 만들기

git branch <브랜치 이름>

다른 브랜치 선택하기

  • 작업할 브랜치로 바꾸는 것
  • 작업할 브랜치로 바꾸는것을 체크아웃이라고 한다
  • 체크아웃된 브랜치에만 commit이 반영된다
  • git switch와 git checkout 모두 다른 브랜치를 선택하는 깃 명령어지만 git switch가 더 권장된다
git switch <선택하고 싶은 브랜치 이름>
git checkout <선택하고 싶은 브랜치 이름>

새 브랜치 만들고 & 다른 브랜치 선택하기

git checkout -b <브랜치 이름>

사용가능한 로컬 브랜치 리스트 보여주기

git branch

사용가능한 원격 브랜치 리스트 보여주기

git branch -r

사용가능한 로컬 & 원격 브랜치 리스트 보여주기

git branch -a

브랜치 삭제하기

git branch -D <브랜치 이름>

생성한 로컬 브랜치를 원격 브랜치로 push해주기

git push origin <원격으로 올리고 싶은 로컬 브랜치 이름>

브랜치 비교하기

git diff <브랜치 이름1> <브랜치 이름2>

 

merge

merge란?

  • 브랜치를 다른 브랜치에 합치는것
  • 특정 브랜치의 commit을 다른 브랜치의 commit 내역에 모두 반영하는 것
  • 작업이 완료되면 작업한 브랜치는 보통 삭제한다

git merge 명령어

현재 선택된 브랜치에 해당 브랜치를 병합해주기

git merge <브랜치 이름>

댓글