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 간의 연결을 기반으로 작동한다.
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 하면된다.