Github 사용설명서

예빈·2022년 8월 19일
1

ETC

목록 보기
4/15
post-thumbnail

GitHub란?

GitHub는 Git을 지원하는 버전 관리와 협업을 위한 코드 웹 호스팅 플랫폼으로, 언제, 어디서나 협업 프로젝트를 쉽게 진행할 수 있도록 돕는 역할을 한다.


Pull Request

Pull Request(PR)이란 내가 수정한 코드가 있으니 내 branch를 가져가 검토 후 병합해주라고 요청하는 것이다. PR을 통해 코드 충돌을 최소화할 수 있고 push 권한이 없는 오픈 소스 프로젝트에 기여할 때 많이 사용한다.


1. 원본 저장소를 Fork 🍴 하기

기여하기 원하는 Repository 의 우측 상단에 포크 버튼눌러 Fork 한다.
Fork가 완료되면 내 원격 저장소에 해당 레포지토리가 복제 된다.


2. 원본 저장소 Remote 설정

레파지토리를 clone 하면 origin이라는 이름으로 나의 원격 저장소가 remote로 설정되어 있다. 하지만 나의 원격 저장소 뿐만 아니라, Fork 했던 원본 저장소도 remote로 등록 해주는 게 좋다.

# 원본 저장소 remote 등록
$ git remote add <별명> <원본 저장소 url>
 
# 원격 저장소 확인
$ git remote -v

3. Branch 설정

팀과 함께 일할때 브랜치 분기는 필수다.

# 브랜치 생성
$ git branch <branch 이름>
 
# 브랜치 이동
$ git checkout <branch 이름>
 
# 브랜치 생성후 이동 (단축 명령어)
$ git checkout -b <branch 이름>
 
# 브랜치 리스트
$ git branch

4. Add / Commit / Push

$ git add . 
 
$ git commit -m "Feat: 커밋 메세지 작성"
 
$ git push origin <branch 이름>

5. Pull Request 생성

깃헙 저장소 상단을 보면 Compare & pull request 버튼이 활성화되어 있는 것을 볼 수 있다. 상단에 버튼을 클릭하고, PR 메세지를 작성하고 Cretae pull request 버튼을 누르면 풀 리퀘스트를 생성하게 된다.


6. Merge Pull Request

Pull Request 를 받은 원본 저장소 관리자는 코드 변경내용을 확인하고 Merge 여부를 결정하게 된다.

원작자가 승인을 하면 Merge Confirm 으로 원본 저장소에 변경된 사항이 반영이 되고, pull request의 상태는 closed로 변경된다. 맘에 들지 않는다면 Reject 된다.


Commit Message

제목 (Subject)

Feat: "로그인 기능 구현"  -> 제목
  • 제목과 본문을 한 줄 띄우고 콜론(:)으로 분리
  • 제목은 영문 기준 50자 이내로 적기
  • 영문 기준 동사(원형)을 가장 앞에 둔다.
  • 제목 첫글자를 대문자로 적기
  • 제목은 명령어, 개조식으로 작성

제목 / 태그 / 이름설명
Feat새로운 기능을 추가할 경우
Fix버그를 고친 경우
DesignCSS 등 사용자 UI 디자인 변경
!BREAKING CHANGE커다란 API 변경의 경우
!HOTFIX급하게 치명적인 버그를 고쳐야하는 경우
Style코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우
Refactor프로덕션 코드 리팩토링
Comment필요한 주석 추가 및 변경
Docs문서를 수정한 경우
Test테스트 추가, 테스트 리팩토링 (프로덕션 코드 변경 X)
Chore빌드 테스트 업데이트, 패키지 매니저를 설정하는 경우 (프로덕션 코드 변경 X)
Rename파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우
Remove파일을 삭제하는 작업만 수행한 경우

본문 (body)

새로고침 시 로그인 유지 기능 개발  -> 본문
  • 선택사항이기 때문에 모든 커밋에 본문을 작성할 필요는 없다.
  • 부연설명이 필요하거나 커밋의 이유를 설명할 경우 작성
  • 어떻게 변경했는지 보다 무엇을 변경했는지, 왜 변경했는지 작성
  • 72자를 넘기지 않게 작성

Resolves: #67  -> 꼬리말
Ref: #64
Related to: #33, #34
  • 선택사항이기 때문에 모든 커밋에 꼬리말을 작성할 필요는 없다.
  • issue tracker id를 작성할 때 사용
  • 유형: #이슈 번호 형식으로 작성
  • 유형은 다음 중 하나를 사용

제목 / 태그 / 이름설명
Fixes이슈 수정 중 (아직 해결되지 않은 경우)
Resolves이슈를 해결했을 때 사용
Ref참고할 이슈가 있을 때 사용
Related to해당 커밋에 관련된 이슈 번호 (아직 해결되지 않은 경우)


🧸💗 참고블로그
🛠 깃 명령어 모음

profile
작전명 청춘 💫

0개의 댓글