수업자료/sw공학

[Git] Git Hub

조찬국 2024. 6. 25. 20:04
728x90

1.  Github란

 💡 Github는 웹 기반의 호스팅 서비스로, Git 버전 관리 시스템을 사용한다. 주로 소프트웨어 개발 프로젝트의 협업을 위한 중앙 저장소 역할을 한다. 

1-1. Github의 3가지 기능

1. 저장소 호스팅 : 프로젝트의 소스 코드를 온라인에 저장하고 관리할 수 있다.
2. Pull Request 및 Issue Tracking : 개발자들이 코드 변경 사항을 검토하고 통합하기 위한 매커니즘을 제공하며, 버그나 개선 사항을 추적할 수 있는 시스템을 제공한다.
3. 문서화 및 위키 : 프로젝트 관련 문서와 정보를 저장하고 공유할 수 있는 위키 기능을 제공한다.

2. 용어 정의

용어 영문 정의
이슈 Issue 프로젝트를 진행하면서 발생하는 문제나 사건을 의미한다. 버그를 발견하거나 추가해야 할 기능, 혹은 새로운 설계 사항들이 이슈가 될 수 있다. 이를 통해 팀원들이 협력하고 해결책을 찾을 수 있다.
담당자 Assigne 이슈를 처리할 사람을 지정하는 것이다. 이 이슈를 해결할 사람이 누구인지 명확하게 할 수 있다
레이블 Label 이슈를 여러 종류로 구분할 수 있는 태그 같은 것이다. 예를 들어, 버그, 기능 추가, 디자인 문제 등으로 레이블을 붙여서 나중에 쉽게 찾을 수 있도록 한다.
마일스톤 Milestone 프로젝트의 중요한 단계나 목표를 말한다. 스프린트 같은 특정 개발 기간이나 중요한 목표를 마일스톤으로 설정한다. 이를 통해 프로젝트의 진행 상황을 추적하고, 주요 목표가 달성되었는지 확인할 수 있다.
프로젝트 Projects 프로젝트는 작업의 전체적인 진행 상황을 볼 수 있는 메뉴이다. 각 이슈나 작업들이 얼마나 진행되었는지 한눈에 파악할 수 있도록 도와준다. 예를 들어, "해야 할 일", "진행 중", "완료됨" 등의 상태로 나눠서 작업 상황을 쉽게 볼 수 있다.

3. 프로젝트(Projects) 설정

3-1. 프로젝트(Project 생성하기)

3-1-1. 생성한 repository에서 프로젝트 메뉴 들어가기

3-1-2.템플릿 선택하기(board)

 

3-2. Milestone 생성하기

3-2-1. Issues

3-2-2. 우측 상단의 Milestones 클릭

3-2-3. 마일스톤 생성 및 설정하기

 

3-2-4. 마일스톤 생성 확인하기

3-3. 이슈 템플릿 생성

3-3-1. repository→ settings→Features →Issues →Set up templates

 

3-3-2. 이슈 템플릿 선택하기

3-3-3. 이슈 템플릿 내용 작성 및 저장

 

 

3-4. 레이블(Label) 생성

3-4-1. 이슈관리 메뉴 에서 labels 메뉴 들어가기

3-4-2. label 수정,추가,삭제 

3-5. PR 템플릿 생성

3-5-1. repository → add file에 파일명을 바꾸고, 템플릿을 작성 한 후 commit changes를 누른다.

파일명: .github/[pr템플릿 이름설정]

이를 통해 원격 repo에 pr 템플릿 파일을 만든다. 이때 .github의 디렉토리는 깃허브가 자체적으로 마크다운 언어를 인식하여 pr 할때 사용할 수 있게 도와준다.

 

3-5-2. pull 명령어를 통해 로컬 레포에 원격 레포를 반영하기

 

3-5-3. 새로운 브랜치 생성 후 pr 해보기

 

3-5-4. pr과 동시에 자동으로  issue 닫기

(이슈생성은  3-6을 먼저 보시고 오셔야 합니다.)

<결과>

3-6. 이슈생성

3-6-1. 레포지토리의 이슈 관리 메뉴 들어가기

3-6-2. 이슈 관리 메뉴의 우측 상단의 new issue 클릭

3-6-3. 이슈 템플릿 선택하기

3-6-4. 이슈 내용 입력하기

추가적으로 마일스톤이랑 프로젝트까지 꼭 설정해야합니다!!

 

3-6-5. 생성한 이슈 확인하기

 

 

이때, 이슈는 기능별(feature 브랜치)로 하나씩 할당하여 작업을 진행한다!!

 

3-6-6. 이슈 목록 확인하기

 

4. 브랜치 보호

1. feature에서 develop으로 PR( Pull Request )요청을 하면 Merge전에 다른 사람 한명이상이 승인 하게 설정.

2. 이때 리뷰도 달게 함으로써 프로젝트의 커뮤니케이션 능력을 올릴 수 있다.

 

4.1 Branch Protection Rules

settings -> Branches -> Add Classic branch protection rule

 

4.2 승인 요청 설정

 

 

A: 보호 받고자 하는 브랜치명

B: 승인 받아야하는 수(위와 같이 2로 설정되어있으면 나를 제외한 다른 2명한테 승인 받아야 merge가 가능하다.)

 

A,B가 설정되어있으면 가장 아래의 create 버튼을 눌러 생성한다.

 

 

5.  Github의 부가기능

5.1. Webhook 설정을 통한 디스코드 연동

5.1.1. Repository 접속 => 상단의 settings => Webhooks 클릭 => Add webhook

5.1.2,  모바일 인증

( 깃허브 모바일 Authentication 과정은 미리 반드시 수행되어 있어야 함.)

5.1.3. 디스코드 채팅 채널의 설정 => 연동 => 새 웹후크 => 웹후크 URL 복사

 

5.1.4. 다시 setiings의 webhooks 들어가서 사진의 체크대로 설정

 

 

5.2. 깃허브 조직에 Readme 작성

728x90