
다른 분들의 깃허브를 보는데 PR이 똑같은 형식으로 보기 좋게 설정되어 있는 걸 보았다.
그래서 매번 저 양식을 복사해서 사용하나 싶었지만, 구글링 해보니 템플릿으로 만들 수 있다고 하여 나도 적용해보려고 한다!
.github 디렉토리를 생성한다..github 디렉토리 안에 PULL_REQUEST_TEMPLATE.md를 만들고 마크다운 언어로 템플릿을 구성한다.이제 해당 파일을 main으로 push하고, 다시 줄바꿈만 하여 수정한 뒤 PR을 생성하여 잘 적용되는지 확인해보자!

PR을 생성하면 이렇게 자동으로 구성되는 걸 볼 수 있다!!
Issue Template을 만드는 방식은 크게 2가지가 있다.
1. 깃허브 사이트에서 만들기
2. Project 내에서 만들고 관리하기
Settings로 들어간다.
Features가 보이고 Issues 부분에 Set up templates를 클릭하자. 
Add template: select 버튼을 클릭하여 3개 항목 중 원하는 항목을 클릭하여 만들자.Bug report와 Feature request 이렇게 두개를 만드는 것 같다!


Propose changes 버튼을 클릭하고, Commit하여 템플릿을 적용해준다.


이 방법은 PR Template 만들 때와 비슷하다.
레포지토리를 이제 막 만들고, 프로젝트를 setup할 때 미리 만들어 놓는 방법이라고 생각하면 편할 거 같다!
프로젝트 루트 경로에 .github 디렉토리를 만들고, 그 안에 ISSUE_TEMPLATE 디렉토리를 만든다.
ISSUE_TEMPLATE 디렉토리 안에 본인이 만들고 싶은 종류의 이슈 템플릿을 만들면 된다!
단, 아래 코드는 템플릿 상단에 반드시 포함해야 한다!
<!-- 값을 지정해 주지 않는다면 '' -->
---
name:
about:
title:
labels: ''
assignees: ''
---
name : 템플릿의 이름about : 템플릿 설명title : 이슈의 제목labels : 이슈에 붙이 라벨assignees : 이슈에 자동으로 할당할 담당자이전까진 PR과 이슈에 무엇을 적어야할지 잘 몰랐었고, 형식을 지정하지 않다보니까 중구난방으로 생성하곤 했다...
이렇게 템플릿으로 틀을 잡아두면 가독성도 좋고 조금 더 편하게 작성할 수 있을 것 같다!
다음 팀 프로젝트 때 바로 적용보아야
## #️⃣ 연관된 이슈
<!-- ex) #이슈번호[, #이슈번호] -->
> 여기에 작성
## ✅ 체크리스트
- [ ] 🔀 PR 제목의 형식 맞추기 `ex) [feat] ㅇㅇ 기능 추가`
- [ ] 💡 이슈 등록
- [ ] 🏷️ 라벨 등록
- [ ] 🧹 불필요한 코드 제거
- [ ] 🧪 로컬 테스트 완료
- [ ] 🏗️ 빌드 성공
- [ ] 💯 테스트 통과
## 📝 작업 내용
<!-- 이번 PR에서 작업한 내용을 설명해 주세요. (이미지 첨부 가능) -->
> 여기에 작성
## 📸 스크린샷 (UI 변경 시 필수)
<!-- UI 변경이 포함된 경우 변경된 화면의 스크린샷을 추가해 주세요. -->
## 👀 리뷰어 가이드라인
<!-- 리뷰어가 중점적으로 확인해야 할 사항을 작성해 주세요. -->
<!-- ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요? -->
> 여기에 작성
---
name: 🐞 Bug Report
about: 버그가 발생했나요?
title: "간략한 버그 설명"
labels: 'bug'
assignees: ''
---
## 🐞 버그 설명
<!-- 버그에 대한 명확한 설명을 작성해 주세요. -->
> 여기에 작성
## 📋 재현 단계
<!-- 버그를 재현하기 위한 구체적인 단계들을 작성해 주세요. -->
1.
2.
3.
## ✅ 예상 동작
<!-- 버그가 발생하지 않을 경우 예상되는 정상 동작을 설명해 주세요. -->
<!-- 예: 버튼을 클릭하면 로그인 성공 메시지가 나타납니다. -->
> 여기에 작성
## 📷 스크린샷 (선택 사항)
<!-- 가능하다면 문제를 보여주는 스크린샷을 첨부해 주세요. -->
## 📄 추가 정보 (선택 사항)
<!-- 문제를 더 파악할 수 있도록 관련된 추가 정보를 제공해 주세요. -->
<!-- 예: 로그 파일, 최근 변경 사항, 관련된 다른 이슈 등 -->
---
name: ✨ Feature Template
about: 구현할 기능 또는 명세가 있나요?
title: "구현할 기능 또는 명세 제목"
labels: ''
assignees: ''
---
## 🌟 기능 설명
<!-- 제안하려는 기능에 대해 설명해 주세요. -->
> 여기에 작성
## 📋 기능의 필요성
<!-- 기능의 필요성이나 이를 통해 해결하려는 문제를 설명해주세요. -->
<!-- 예: 현재 파일 업로드가 복잡하여 사용자 편의성이 떨어집니다. -->
> 여기에 작성
## 🎯 세부 기능
<!-- 어떤 세부 기능을 구현할 것인지 설명해 주세요. -->
- [ ] 세부 기능1
- [ ] 세부 기능2
- [ ] 세부 기능3
---
name: 🔄 Refactoring
about: 리팩터링할 부분이 있나요?
title: "리팩터링할 간략한 내용"
labels: 'refactor'
assignees: ''
---
## 📝 리팩터링 설명
<!-- 리팩터링이 필요한 이유와 리팩터링할 부분을 설명해 주세요. -->
<!-- 예: 로그인 로직이 복잡하여 가독성이 떨어지고, 유지보수가 어렵습니다. -->
> 여기에 작성
## 🎯 리팩터링 목표
<!-- 리팩터링을 통해 달성하고자 하는 목표를 설명해 주세요. -->
<!-- 예: 코드 가독성 향상 및 중복 로직 제거 -->
> 여기에 작성
## 🔄 리팩터링 방법
<!-- 리팩터링을 수행할 방식과 계획을 설명해 주세요. -->
<!-- 예: 로그인 로직을 별도 클래스로 분리하고, 중복된 유효성 검사를 함수로 정리 -->
> 여기에 작성
## 📄 추가 정보 (선택 사항)
<!-- 리팩터링과 관련된 기타 추가 정보를 제공해 주세요. -->
<!-- 예: 코드 예시, 관련 링크 등 -->
리포지토리에 대한 단일 문제 템플릿 수동으로 만들기 | GitHub Docs
리포지토리에 대한 끌어오기 요청 템플릿 만들기 | GitHub Docs
[Github] Issue & PR Template 설정하기 | Amaranth