제대로 파는 Git & Github 10 🐙
GitHub 잘 사용하기
📦️ 프로젝트와 폴더에 대한 문서
README.md 파일을 작성하여서 프로젝트의 정보들을 나타내자!
홈페이지 참고
🍻 풀 리퀘스트와 이슈
Pull Request (PR)
기본적으로 setting 메뉴에 들어가서 Collaborators를 누르면 Manage access가 나온다. 여기에서 팀원들을 추가 할 수 있음
변경사항을 merge하기 전 리뷰를 거치기 위함
- 팀원들의 동의를 거친 뒤 대상 브랜치에 적용
폴 리퀘스트 사용해보기
- 새로운 브랜치 생성 후 변경사항 커밋하여 푸쉬
-
GitHub 레포지토리 페이지에서 Compare & pull request 버튼 클릭
- 또는 ~ branches에서 New pull request 클릭
- 메시지 작성 후 Create pull request 클릭
풀 리퀘스트 검토 후 처리하기
- GitHub 레포지토리 페이지에서 Pull requests 탭 클릭
- 대상 풀 리퀘스트 클릭하여 내용 검토
- 의견이 있을 시 코멘트 달기
- 반려해야 할 시 Close pull request
- 승인할 시 Merge pull request
Issue
버그나 문제 제보, 추가할 기능 등의 이슈 소통
이슈 작성해보기
- GitHub 레포지토리 페이지에서 Issues 탭 클릭
-
필요시 label 또는 milestone 생성
- milestone: 이슈의 주제 묶음 (특정 목표 등)
-
이슈 작성
- 필요시 label, milestone, asignee 지정
-
이슈 확인 후 처리
- 코멘트 달기
- 관련 개발 착수 (브랜치명이나 커밋 footer에 이슈 번호 반영)
- 해결 뒤: Close issue
오픈소스에 참여하기
오픈소스 프로젝트에 기여하기 === Contributors에 이름 올리기
⭐️ 프로젝트별 참여 가이드 확인
-
프로젝트 fork 해보기 원하는 유명 프로젝트 내 레포지토리로 포크해보기
-
코드 기여하기 코드 수정 후 pull request
-
오픈소스 주인 관점 풀 리퀘스트 코멘트/반려/수락
🔑 SSH로 접속하기
SSH란 암호키와 공개키를 가지고 암호화된 정보들을 주고 받고 하는 기능이다. 처음 주어지는 암호키와 공개키를 가지고 서로 알고리즘을 풀어내 복호화가 가능하다. 이외의 공개키 혹은 암호키를 가지고는 절대로 풀 수 없다.
SSH 프로토콜을 통한 인증
- 공개키 암호화 방식 활용
- username과 토큰 사용할 필요 없음
- 컴퓨터 자체에 키 저장
SSH 키 등록하기
- 계정의 Settings - SSH and GPG keys
- 해당 페이지의 가이드 참조
이외 강의 참고
🗝 GPG로 커밋에 사인하기
GPG 키를 통한 검증
GPG는 GnuPG = GNU Privacy Guard로 PGP(Preety Good Privacy)를 대체하는 암호화, 복호화 프로그램이다.
깃허브에서 가끔 커밋메시지 Verified라는 로고를 볼 수 있는데 이 경우는 2가지 이다.
- Github 자체 홈페이지에서 수정 해서 커밋 할 경우
- GPG 키를 받아 깃과 연동시킨 경우
💡 주로 회사에서나 큰 프로젝트 일 경우 사용됨
GitHub 커밋 내역 살펴보기
- 로컬에서 푸시한 커밋과 GitHub에서 작성한 커밋 비교
- Verified : 신뢰할 만한 출처에서 커밋되었다는 인증
GPG 사용
- GPG 툴 설치 윈도우: 다운로드 사이트 맥: brew install gnupg gpg –version으로 확인
이외는 강의 참조
💥 GitHub Action
GitHub Actions를 사용하면 이제 세계적 수준의 CI/CD로 모든 소프트웨어 워크플로를 쉽게 자동화할 수 있습니다. GitHub에서 바로 코드를 빌드, 테스트 및 배포하세요. 코드 검토, 분기 관리 및 문제 분류가 원하는 방식으로 작동하도록 합니다.
참고 용어 CI/CD : 지속적 통합과 배포
-
CI
- Continuous Integration
- 테스트와 빌드를 자동으로 진행하는 프로세스
-
CD
- Continuous Deploy, Continuous Delivery
- 배포 자동화
동종: GitLab CI/CD, BitBucket Pipelines
🐙 GitHub 추가 팁
OctoTree
- GitHub 레포지토리의 디렉토리를 보다 편하게 브라우징
- 크롬 익스텐션 (엣지에서 사용 가능)
GitHub CLI
- GitHub 작업 전용 CLI 툴