티스토리 뷰
Github에서는 Issue라는 기능을 제공하고 있다.
이슈란 프로젝트를 진행하면서 생기는 모든 이슈를 말하며 그 종류에는 기능 추가, 버그 발생, PR 등
이 있다.
예를들어 로그인 기능
을 구현해야 한다면 로그인 기능 구현하기
가 하나의 이슈가 될 수 있는 것이다.
이런식으로 하나의 이슈를 생성하고, 그 이슈를 통해 작업이 어떤식으로 진행되는지 한 눈에 볼 수 있다.
이슈 생성하기
먼저 이슈를 생성하려면 이슈를 생성하고자 하는 레포지토리가 있어야 한다.
test-repository
라는 레포지토리를 새로 만들었다.
이제 이슈를 생성해보자.
레포지 토리에 있는 Issues
탭에 들어간다. 이곳에서 New Issue
를 통해 이슈를 생성할 수 있다.
이곳에서 이슈의 이름과 내용을 설정할 수 있다.
간단하게 이슈를 생성해보았다. Issue Template
라는 기능을 사용하면 원하는 템플릿에 맞게 이슈를 생성할 수 있다.
이슈를 생성하면 이런 화면을 볼 수 있다. 이슈의 제목 옆에 있는 #1
은 이슈의 번호가 된다.
오른쪽에 있는 탭에서 이슈와 관련된 설정을 할 수 있다.
이렇게 Assignees와 label을 지정해보았다. label은 자신이 원하는 것으로 커스터마이징이 가능하다.
Github 프로젝트 만들기
이번엔 프로젝트를 만들어보자. 레포지토리의 상단 탭에서 Projects
에 들어간다.
이후 New Project
를 통하여 프로젝트를 생성해보자.
나는 이렇게 생성했다. 프로젝트를 생성할 때 템플릿을 지정할 수 있는데 나는 Automated kanban
을 설정했다.
이는 이슈가 생성되면 프로젝트의 TODO
에 자동 등록되며, 해당 이슈와 관련된 PR이 머지되면 이슈가 자동으로 DONE
에 위치하게 된다.
다시 이슈로 돌아와서 아까 생성한 이슈와 방금 만든 프로젝트를 연결시켜보자.
이곳에서 프로젝트를 선택하면 된다.
다시 프로젝트로 돌아가보면 이렇게 TODO에 이슈가 자동으로 등록되는 것을 볼 수 있다.
이슈에 커밋 연결시키기
이제 해당 이슈내용에 따라 코딩을하고, 커밋을 해야한다.
커밋과 이슈를 연결시키는 방법은 아주 간단하다. 커밋 메세지에 이슈번호를 포함하면 된다.
그럼 깃헙이 알아서, 해당 이슈를 찾아 이슈와 커밋을 연결시켜준다.
나는 프로젝트를 클론받아 README.md
파일을 만들고 [#1] add README.md
라는 메세지로 커밋을 했다.
이제 커밋한것을 깃헙으로 푸시하면 다음과 같은 화면을 볼 수 있다.
해당 이슈에 이렇게 커밋이 연결되는 것을 확인할 수 있다.
이제 해당 이슈의 작업을 모두 완료했으니 Close issue
를 통해 이슈가 완료되었음을 알리자.
이슈를 브랜치로 생성하여 Pull Request 하기
이전에는 바로 main
브랜치에 작업 내용을 push했다. 이렇게 하니, 이슈내용이 완료되었을 때 집적 이슈를 Close
해야 하는 상황이 발생했다.
이번엔 Pull Request를 이용해, 만약 작업이 완료되면 자동으로 이슈가 Close
되고 프로젝트에서도 해당 이슈가 DONE
으로 변하는 것을 확인해보자.
먼저 이슈를 만들자.
이렇게 이슈를 생성했다. 이제 오른 쪽 탭을 보면 Create a branch
라는 부분이 보인다.
이곳에서 브랜치를 생성할 수 있다.
브랜치이름은 아무렇게 지어도 되지만, 해당 이슈의 번호가 있어야 깃헙이 추적을 할 수 있다고 한다.
브랜치를 생성하고 해당 명령을 따라 작업을 진행해보자.
작업을 완료 한 후 푸시까지 했다. 이렇게 이슈에 커밋 내용이 보이는 것을 확인할 수 있다. 커밋은 여러개가 될 수도 있다.
이제 해당 이슈를 가지고 PR을 만들어보자. 해당 브랜치로 이동하여 Open Pull Request
를 하면 된다.
이렇게 PR을 만들 수 있고, 이곳에서 이슈와 마찬가지로 라벨을 지정할 수 있으며 리뷰어도 지정할 수 있다.
PR을 생성하고 나면 Issue에서 PR이 생성되었다는 것도 확인할 수 있다.
이제 해당 PR을 머지해보자. 나는 rebase
방식으로 머지해보겠다.
main브랜치에 이렇게 커밋이 머지된 것을 확인할 수 있다.
이슈와 프로젝트도 이렇게 자동으로 변경된 것을 확인할 수 있다.
이렇게 Github에서 Issue를 통해 프로젝트를 관리하는 방법을 알아보았다.
이 방법외에도 프로젝트를 관리하는 방법은 매우 다양하다. 자신의 팀, 혹은 자신의 프로젝트에서 가장 적합한 방법을 선택하여 진행하는 것이 좋을 것 같다!👏
'ETC' 카테고리의 다른 글
[Git] 폴더명 변경사항 반영하기 (0) | 2022.01.19 |
---|
- Total
- Today
- Yesterday
- 자바
- 그래프
- boj
- 구현
- node.js
- typeORM
- 벨만포드
- 세그먼트 트리
- 백트래킹
- 백준
- 투포인터
- Computer Architecture
- nestjs
- 그리디
- 스레드
- 동적계획법
- dfs
- 알고리즘
- 자바스크립트
- 중앙대학교
- java
- nest.js
- 재귀
- 컴퓨터 통신
- ReactNative
- 컴퓨터 구조
- BFS
- 예외처리
- 시뮬레이션
- nodeJS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |