# 2024. 10.
# 10. 07.
# 하나의 로컬 환경에서 여러 Github 계정 관리하기
gh auth setup-git
명령어를 실행 → git credential를 git cli가 관리gh auth login
로 등록할 계정을 로그인 (로그인을 하면 토큰 정보가 키체인에 저장된다)- 이 후, ~/.config/gh/hosts.yml 파일 내에 로그인 아이디들이 저장되어 있을것이다.
- gh 자체적으로도
gh auth switch
명령어를 통해 계정간 이동을 할 수 있지만 이는 credential 정보(oauth_token)만 바꿔줄 뿐, git config 내에 저장되어있는 user.name이나 user.email 등은 바꿔주지 않는다. 관련 링크 (opens new window) - 아래와 같이 입력하면 모든 정보가 바뀐다.
git config --global user.name ${{username}}
git config --global user.email ${{email}}
gh auth switch -u ${{username}}
- autoenv (opens new window)를 사용하여 특정 폴더에 진입했을 때 자동으로 계정을 변경하는 방법도 가능하다.
# 10. 09.
# gh 에서 로그인을 했을 때 token은 어디에 저장될까?
gh가 2.40.0으로 릴리즈 되면서 ~/.config/gh/hosts.yml 내에 저장되었던 토큰 정보가 이제 기본으로 시스템 keyring에 저장된다. macOS에서는 keyChain으로 짐작된다.
참조 GitHub CLI 2.40.0 (opens new window)
# 10. 15.
# Squash Merge란?
Git에서 Base 브랜치를 기준으로 B 브랜치가 있다고 할 때 병합하는 과정에서 B 브랜치에 존재하는 모든 커밋들이 하나의 커밋으로 병합되며, 이 때 보통 PR 제목으로 머지 커밋이 생성된다. 단, B 브랜치의 커밋이 한개일 경우 해당 커밋명으로 머지 커밋이 생성된다.
# 10. 16.
# Git에서 직전 커밋 author을 바꾸고 싶을 때
git commit --amend --author="{작성자명} <{이메일 주소}>"