2025-10-17

Issue 관리

Issue 번호 #숫자

  • GitHub 이슈를 생성하면 제목 옆에 자동으로 #숫자가 붙는다.
  • 이 번호는 나중에 커밋 메시지나 PR에서 연결할 수 있는 고유 식별자 역할을 한다.
  • 예) #3 → 3번 이슈와 관련된 작업이라는 뜻.

Issue 닫기

  • 작업이 완료되거나 더 이상 유지할 필요가 없을 때 issue를 종료한다.
  • Issue 페이지 하단에 있는 Close issue 버튼을 누르면 종료할 수 있다.
  • 종료할 때 왜 닫았는지 이유를 코멘트로 남기면 나중에 프로젝트 관리 시 추적이 용이하다.

Issue 다시 열기

  • 종료된 issue도 필요하다면 다시 열 수 있다.
  • 하단에 있는 Reopen 또는 Reopen and comment 버튼을 누르면 다시 열린다.
  • 이슈는 필요에 따라 여러 번 열렸다 닫혔다 할 수 있다.

Commit과 Issue 연동

  • 커밋 메시지에 이슈 번호를 포함하면 해당 커밋이 자동으로 이슈와 연결된다.
  • 예) #3 회원가입 기능 구현 처럼 커밋 메시지에 #이슈번호를 적으면 해당 커밋이 이슈와 연결된다.
  • 이렇게 하면 issue 상세 페이지에 관련 커밋 내역이 표시되어 작업 추적이 쉬워진다.

git 협업 흐름

  • 1단계. 누가 이 작업 할 것인지 정한다. - Issue
  • 2단계. 각자 맡은 것을 작업한다. - Branch
  • 3단계. 각자 작업을 프로젝트에 합친다. - merge



원격 저장소와 브랜치 개념 정리

  • main : 로컬 저장소의 main 브랜치
  • feature/branchname : 로컬 저장소의 feature의 branchname 브랜치
  • origin/main : 원격 저장소(origin)의 main 브랜치
  • origin/HEAD : 원격 저장소의 최신 커밋

로컬 저장소와 원격 저장소의 관계

  • 별도 설정이 없어도 로컬 브랜치와 같은 이름으로 원격 브랜치가 생성되고 자동으로 tracking 된다.
  • origin/main원격 저장소(origin)의 main 브랜치를 가리킨다. (로컬 main ↔ 원격 origin/main)

Push & Pull의 본질

  • pull = 원격 브랜치의 커밋을 로컬로 가져오기
  • push = 로컬 브랜치의 커밋을 원격으로 올리기
  • 둘 다 tracking branch 간의 연결을 기반으로 작동한다. 2week 016



git 협업 흐름 정리 (명령어)

1. 작업 시작 전 최신 main 내려받기

  • git pull origin main

2. branch 명령어들

  • git checkout -b feature/xyz : feature/xyz 라는 이름의 브랜치 생성 및 바로 이동
  • git branch feature/xyz : 브랜치 생성만
  • git branch : 현재 브랜치 확인

3. 작업 중 최신 사항 받아오기

  • git checkout main : 메인으로 이동 후
  • git pull origin main : 로컬 메인에서 원격 메인과 병합한 후
  • git checkout feature/xyz : 브랜치로 이동 후
  • git merge main : 브랜치에도 반영

4. 브랜치 작업을 완료했으면, 커밋 후 main branch로 이동 한다.

  • git checkout main

5. main branch에 브랜치를 병합

  • git merge feature/xyz

6. 원격 저장소에 반영

  • git push origin main

7.브랜치 삭제

  • git branch -d feature/xyz

8. (원격 브랜치도 지울 때)

  • git push origin --delete feature/xyz



merge과정에서 conflict 발생 시

<<<<<<< HEAD
{현재 브랜치의 파일 내용}
`=======
{충돌나는 브랜치명 또는 commit에서의 파일 내용}
>>>>>>> 충돌나는 브랜치명

이런 형태로 파일에 표시된다. 이때 내가 원하는 대로 파일을 수정한 다음 (어떤 내용을 반영할지 결정) <<<<<<< HEAD , ======= , >>>>>>> 충돌나는 브랜치명을 지운 뒤에 이렇게 수정된 파일을 git add + git commit 하면된다.



태그:

카테고리:

업데이트: