본문 바로가기
git & github

git github 처음부터 다시 배우기 - 6. git hub 활용

by spare8433 2023. 2. 15.

1. Pull request

 

변경사항을 merge하기 전 리뷰를 거쳐 팀원들의 동의를 거친 뒤 대상 브랜치에 적용

 

풀 리퀘스트 사용하기

  1. 새로운 브랜치 생성 후 변경사항 커밋하여 푸시
  2. GitHub 레포지토리 페이지에서 Compare & pull request 버튼 클릭
    • 또는 ~ branches에서 New pull request 클릭
  3. 메시지 작성 후 Create pull request 클릭

 

풀 리퀘스트 검토 후 처리하기

 

  1. GitHub 레포지토리 페이지에서 Pull requests 탭 클릭
  2. 대상 풀 리퀘스트 클릭하여 내용 검토
    • 의견이 있을 시 코멘트 달기
    • 반려해야 할 시 Close pull request
    • 승인할 시 Merge pull request



2. Issue

 

버그나 문제 제보, 추가할 기능 등의 이슈 소통

 

예시

 

 

label

  • 이슈의 유형을 나타낼 수 있는 태그

 

milestone

  • 이슈의 주제 묶음 (특정 목표 등)

 

이슈 작성

  • 필요시 label, milestone, asignee 지정

 

이슈 처리

 

  • 코멘트 달기
  • 관련 개발 착수 (브랜치명이나 커밋 footer에 이슈 번호 반영)
  • 해결 뒤: Close issue



3. 오픈소스 프로젝트에 기여하기

 

⭐️ 프로젝트별 참여 가이드 확인

 

 

fork

 

특정 리포지토리 전체 가져오는 기능

 

기여하는 과정

 

  • 코드 수정 후 pull request
  • 풀 리퀘스트 코멘트/반려/수락

 

4. GitHub Pages 사용하기

 

 

GitHub Page 생성

 

  1. 레포지토리 생성
  • ❗️ 레포지토리명: (내 아이디).github.io로 지을 것!
  • 로컬로 클론

 

  1. 최상위 디렉토리에 index.html 작성
  • 💡 VS Code 팁: ! 입력하고 엔터 누르면 기본 HTML 템플릿 생성
  • 내용 작성 뒤 push

 

  1. https://(내 아이디).github.io에서 사이트 확인
    • 시간이 어느 정도 걸림



5. SSH 프로토콜을 통한 인증

 

  • 공개키 암호화 방식 활용
  • username과 토큰 사용할 필요 없음
  • 컴퓨터 자체에 키 저장

 

SSH 키 등록하기

 

  • 계정의 Settings - SSH and GPG keys
  • 해당 페이지의 가이드 참조

 

SSH키 존재 여부 확인

 

  • 터미널(윈도우의 경우 Bash Shell)에서 ~/.ssh로 이동
  • ls -al ~/.ssh
  • id_rsa.pub, id_ecdsa.pub, id_ed25519.pub 파일 중 하나 존재 여부 확인
  • 있다면 바로 GitHub에 키 등록 으로

 

SSH 키 생성

 

  • 터미널(윈도우의 경우 Bash Shell)에서 키 생성
  • ssh-keygen -t ed25519 -C "(이메일 주소)"
  • 원할 시 passphrase 입력
  • 1번의 과정으로 키 생성 확인

 

GitHub에 키 등록

 

  • 공개키 열람하여 복사
  • cat ~/.ssh/id_ed25519.pub
  • New SSH Key 클릭하여 키 이름과 함께 등록

 

SSH로 사용해보기

 

  • 원격을 SSH 주소로 변경한 뒤 테스트

 

6. GPG 키를 통한 검증

 

커밋 및 태그에 로컬로 서명하여 다른 사용자에게 변경 내용의 출처에 대한 확신을 줄 수 있습니다. 커밋 또는 태그에 암호화적으로 확인할 수 있는 GPG, SSH 또는 S/MIME 서명이 있는 경우 GitHub는 커밋 또는 태그 “확인됨” 또는 “부분적으로 확인됨”을 표시합니다. - 공식문서 중 -

 

GitHub 커밋 내역 살펴보기

 

  • 로컬에서 푸시한 커밋과 GitHub에서 작성한 커밋 비교
  • Verified : 신뢰할 만한 출처에서 커밋되었다는 인증

 

GPG 사용

 

1.GPG 툴 설치

 

 

2. GPG 키 생성

 

gpg --full-generate-key
  • 이후 몇가지 옵션 선택
  • id / e-mail 입력

 

gpg --list-secret-keys --keyid-format=long

# 결과
# sec   rsa4096/"GPG ID 코드" 2023-02-13 [SC]
# ...
  • 명령을 사용하여 퍼블릭 키와 프라이빗 키가 모두 있는 긴 형식의 GPG 키를 나열
  • 위 명령어 결과 "sec rsa4096/" 이후에 나오는 코드를 저장해두고 진행

 

gpg --armor --export "GPG ID 코드"

# 결과
# -----BEGIN PGP PUBLIC KEY BLOCK-----
# ...
# -----END PGP PUBLIC KEY BLOCK-----
  • -----BEGIN PGP PUBLIC KEY BLOCK-----로 시작하고 -----END PGP PUBLIC KEY BLOCK-----로 끝나는 GPG 키를 복사 후 저장

 

3. New GPG key 클릭하여 등록

 

  • 저장해둔 GPG 키 를 github/setting/GPG keys 에 등록
  • 설정 등록
      git config --global user.signingkey "GPG ID 코드"

 

4. 사인하기

 

  • 커밋에 사인: 명령어에 -S 옵션 추가
  • git commit -S -m '(메시지)'
  • 태그에 사인: 명령어에 -s 옵션 추가
  • git tag -s (태그명) (커밋 해시) -m (메시지)



7. GitHub Actions

 

GitHub Actions빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD(연속 통합 및 지속적인 업데이트) 플랫폼입니다. 리포지토리에 대한 모든 끌어오기 요청을 빌드 및 테스트하거나 병합된 끌어오기 요청을 프로덕션에 배포하는 워크플로를 만들 수 있습니다. - 공식문서

 

정리 : GitHub ActionsGitHub 에서 하는 일들을 자동화하면서 그 과정안에 필요한 작업들을 추가할 수 있는 기능(빌드, 테스트 및 배포 등등)

 

  • 워크플로는 리포지토리의 .github/workflows 디렉터리에 정의
  • 워크플로를 정의하기위해 .github/workflows 아래에 실행파일을 생성하여 사용함
  • 디테일한 내용을 모두 다루기에는 많아 github 페이지에서 제공하는 세팅 및 가이드를 참고하자



기타 유용한 툴

 

1. OctoTree

octotree

  • GitHub 레포지토리의 디렉토리를 보다 편하게 브라우징

 

GitHub CLI

 

💡 주요 명령어

 

참고

https://www.inflearn.com/course/%EC%A0%9C%EB%8C%80%EB%A1%9C-%ED%8C%8C%EB%8A%94-%EA%B9%83/