반응형
깃헙 SSH로 접속하기
기존의 Personal Access Token
방식의 인증은 HTTPS
로 접근할 수 있었다. SSH 프로토콜을 사용하면 SSH로 접근이 가능하다.
SSH 프로토콜을 통한 인증
- 공개키 암호화 방식 활용
- username과 토큰을 사용할 필요가 없으며, 컴퓨터 자체에 키를 저장한다.
SSH 키 등록하기
- 깃헙 계정의
Settings
-SSH and GPG keys
-New SSH key
SSH 키 존재 여부 확인
cd ~/.ssh
id_rsa.pub
,id_ecdsa.pub
,id_ed25519.pub
파일 중 하나 존재 여부 확인 (있다면 키 존재)pub
이 있으면 공개 키, 없으면 비밀 키 (공개키는 공개해도 되지만, 비밀 키는 절대 노출되면 안된다.)
ssh 키 생성
ssh-keygen -t ed25519 -C "(이메일 주소)"
- 원할 시
passphrase
입력 - 키 생성 완료 후 위의
SSH 키 존재 여부 확인
확인할 것
ssh 키 등록
- ssh 공개 키(
.pub
) 내용을 확인 하여 복사한다.
- 원하는 Title 을 생성한 후 Key 에 공개키 내용을 입력한다.
- 기존 프로젝트와 origin의 연결을 끊고
SSH
방식의 클론 내용을 복사해서 연결한다. 처음 연결하는 경우 해당 클라이언트에 대한 허용이 없기 때문에yes
를 입력해주거나 별도로 키젠에 등록해주는 방식을 사용한다.
GPG로 커밋에 사인하기
- 커밋 내역을 보면 로컬이 아닌 깃헙에서 생성한 내용들은
Verified
(검증) 이 된 표시가 있다는 것을 볼 수 있다.
GPG 키를 통한 검증
- 로컬에서 푸시한 커밋과 GitHub에서 작성한 커밋 비교
Verified
: 신뢰할 만한 출처에서 커밋되었다는 인증
GPG 툴 설치
- 윈도우 : https://www.gnupg.org/download/
- 맥:
brew install gnupg
gpg --version
으로 확인
GPG 키 생성
키 생성 가이드 링크 : https://docs.github.com/en/authentication/managing-commit-signature-verification/generating-a-new-gpg-key
New GPG key 클릭 후 등록
gpg --full-generate-key
RSA
선택 -4096
입력 -0 입력 (무기한)
-is this correct
에서y
를 선택 후 깃 계정 name 과 email을 입력 후 별도의 식별하기 위한 비밀번호를 두 번 입력한다.
gpg --list-secret-keys --keyid-format=long
- 해당 명령어를 입력했을 때 gpg 키가 생성된 것을 볼 수 있다.
sec
뒤에rsa4096/
이후 부터 날짜 전까지 복사한다.
gpg --armor --export (복사한 내용)
BEGIN ~ END
까지의 모든 내용을 복사한다.
- 복사한 내용을 깃헙 페이지에서 붙여넣기 한다.
git config --global user.signingkey (처음에 복사한 내용)
- 글로벌 설정을 위해 다음과 같이 설정해준다.
Mac 의 경우 추가 설정
if [ -r ~/.zshrc ]; then echo 'export GPG_TTY=$(tty)' >> ~/.zshrc; \
else echo 'export GPG_TTY=$(tty)' >> ~/.zprofile; fi
- zsh 의 경우
if [ -r ~/.bash_profile ]; then echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile; \
else echo 'export GPG_TTY=$(tty)' >> ~/.profile; fi
- bash의 경우
사인하기
git commit -S -m '(메시지)'
- 커밋 명령어에
-S
옵션 추가
git tag -s (태그명) (커밋 해시) -m (메시지)
- 태그 명령어에
-s
옵션 추가 (이후 push 시git push --tags
입력)
- 커밋 시 다음과 같이 이전에 생성한 비밀번호를 묻는다. 이전에 RSA 키 생성 시 식별을 위해 생성한 비밀번호를 입력한다.
- push 후 다음과 같이
Verified
된 커밋 내용을 확인할 수 있다.
- 태그도 마찬가지로
Verified
된 것을 확인할 수 있다.
GitHub Actions
- CI / CD (지속적 통합과 배포) 즉, 자동화를 사용하기 위한 기능으로 사용한다.
- CI / CD 관련 영상 : https://www.youtube.com/watch?v=UbI0Q_9epDM
- GitLab CI/CD, BitBucket Pipelines 등 과 동종이다.
예시 살펴보기
- Actions 에서
workflow
들을 보면 여러 서비스들을 제공한다. 그 중 simple 관련 자료를 살펴보면 다음과 같다. (main 브랜치에서 push 트리거가 발생했을 때 실행하며 여러 job들을 설정)
OctoTree
- GitHub 레포지토리의 디렉토리를 보다 편하게 브라우징할 수 있는 기능 제공
- 크롬 확장프로그램 : https://chrome.google.com/webstore/detail/octotree-github-code-tree/bkhaagjahfmjljalopjnoealnfndnagc
GitHub CLI
GitHub 전용 CLI 툴을 사용할 수 있다.
- 관련 링크 : https://cli.github.com/
- GitHub CLI 매뉴얼 :https://cli.github.com/manual/
brew install gh
gh
설치
gh auth (login/logout)
- gh 로그인 / 로그아웃
gh repo list
- 레포지토리 목록 보기
gh repo clone (사용자명)/(레포지토리명)
- 프로젝트 클론
gh repo (create/delete)
- 프로젝트 생성 / 삭제
gh issue lise
- 이슈 목록 보기
gh issue (view/close) (이슈 번호)
- 이슈 열람 / 닫기
gh issue create
- 이슈 생성
gh pr (create/list)
- 풀 리퀘스트 만들기 / 목록 보기
gh pr (view/commit/close/merge) (PR 번호)
- 풀 리퀘스트 보기 / 코멘트 / 닫기 / 병합
본 포스팅은 '인프런 - 제대로 파는 Git & GitHub - by 얄코' 강의를 보고 정리한 내용입니다.
반응형