본문 바로가기
프로그래밍/Git

[Github] Issues, pull requests 사용법

by 코딩중독 2024. 2. 9.

목차

    현재 진행 중인 패스트캠퍼스의 과제 진행을 위해서 Github 저장소를 사용한다.

    팀 또는 동료와 협업으로 프로젝트 진행을 하기 위해서 Github을 사용하면서 Issue등록과 pull requests를 통한 코드리뷰에 대해 정리한다.

     

    [Github] Issue 등록

    Issues

     

    Issues 탭에서 New issue 버튼을 눌러서 등록한다.

    Issue에는 해야 할 업무 목록을 추가한다.

     

    이슈 등록 완료

     

    Issue등록을 완료한다.

    md문법은 잘 몰라도 에디터를 잘 활용하면 된다.

    우측 Assignees는 팀이나 초대된 동료가 있다면 목록이 나오는데 해당업무에 수행할 인원을 선택한다.

    그 외 Labels, Projects, Milestone 등을 지정한다. 다음 포스팅에서 자세히 담을 예정이다.

    Development에서 해당 Issue와 연동하는 branch를 바로 생성할 수 있는데 개인적으로 별로라서 사용하지 않는다.

    #5 Issue번호가 할당됐다.

     

    [IDE] Issue에 대한 brach 생성과 업무 진행

    위에 내용처럼 Github에서 branch를 생성해서 pull로 내려받아서 사용할 수 있지만 개인적으로 인텔리제이에서 git을 사용하는 게 편하다.

    branch 생성

     

    branch 전략에 따라 내용이 달라질 수 있지만 branch네이밍을 할 때 Issue번호를 추가하여 연동하는게 포인트다.

    해당 branch에서 업무를 수행, Issue의 Todo를 처리한다.

    Todo 목록별로 commit을 진행하고, 메시지에는 Issue번호를 붙여준다.

     

    commit message
    Todo List
    업무 진행도

    체크박스 상태에 따라 업무 진행도가 표시된다.

     

    [Github] Issue TodoList 완료 후 push & pull requests

    pull requests

    해당 branch에서 main(master)로 pull requests를 만들 수 있다.

     

    pull requests

     

    가능하다면 pull requests 제목은 issue 제목과 동일하게 맞춘다.

    내용은 수행 업무에 대한 내용을 적고 "왜" 했는지에 대한 내용이 필요할 때면 잊지 않고 입력한다.

    참조할 사이트나 코드에 대해서도 충분히 작성한다.

    우측에 Reviewers, Assignees, Labels, Projects, Milestone 을 설정한다.

    Development 항목을 보면 '종료 키워드를 사용해서 Issue를 자동으로 종료할 수 있다' 는 설명이 있다.

    해당 링크를 통해서 내용을 확인할 수 있다.

    Closing keywords

     

    끌어오기 요청을 이슈에 연결 - GitHub Docs

    끌어오기 요청 또는 분기를 문제에 연결하여 수정이 진행 중임을 표시하고 끌어오기 요청 또는 분기가 병합될 때 문제를 자동으로 닫을 수 있습니다.

    docs.github.com

    This closes #5를 입력해서 해당 pull requests가 병합과 동시에 Issue는 자동으로 종료된다.

     

    [Github] 코드 리뷰

    커밋 이력

     

    pull requests가 생성되면 commit이력을 확인하고 Files changed에서 코드리뷰를 진행한다.

    변경점을 확인하고 수정사항이 생기면 해당 branch에서 추가작업 후 commit, push를 수행한다.

    변경된 사항을 확인 후 체크하면 진행도를 확인할 수 있다.

    코드 리뷰

     

    [Github] Merge(병합)

    코드 리뷰 후 특이사항이 없다면 Merge를 한다.

    pull requests 메시지에 자동 종료 키워드를 넣었기 때문에 Issue는 자동으로 종료된다.

    Merge

     

    Merge를 수행한 후에는 해당 branch를 삭제한다.

    Delete branch

     

    필요에 따라 branch를 다시 살릴 수 있다.

    Restore branch

     

    매번 branch를 삭제하는게 번거롭다면 Merge와 동시에 자동으로 branch를 삭제하는 설정을 해두면 좋다.

    경로는 Settings의 Pull Requests섹션의 다음 항목을 체크한다.

    Automatically delete head branches

     

     

    [Github] 이력 확인

    저장소의 이력을 확인할 수 있다.

    커밋 이력 확인

    위 내용처럼 Issue를 등록하고 pull requests, merge를 통해 프로젝트를 진행하면 이력을 확인할 때 해당 Issue, pull requests를 링크가 남아있고 이를 통해서 바로 확인할 수 있다.

    정리된 업무 이력

     

    지금까지는 Github을 단순히 프로젝트, 파일의 공유 저장소로만 생각했는데 기능을 잘 사용하면 정말 좋은 프로젝트 관리를 할 수 있을 것 같다.

    '프로그래밍 > Git' 카테고리의 다른 글

    [Git] 시작하기  (1) 2023.11.09