# 2024. 10.

# 10. 07.

# 하나의 로컬 환경에서 여러 Github 계정 관리하기

  1. gh auth setup-git 명령어를 실행 → git credential를 git cli가 관리
  2. gh auth login 로 등록할 계정을 로그인 (로그인을 하면 토큰 정보가 키체인에 저장된다)
  3. 이 후, ~/.config/gh/hosts.yml 파일 내에 로그인 아이디들이 저장되어 있을것이다.
  4. gh 자체적으로도 gh auth switch 명령어를 통해 계정간 이동을 할 수 있지만 이는 credential 정보(oauth_token)만 바꿔줄 뿐, git config 내에 저장되어있는 user.name이나 user.email 등은 바꿔주지 않는다. 관련 링크 (opens new window)
  5. 아래와 같이 입력하면 모든 정보가 바뀐다.
git config --global user.name ${{username}}
git config --global user.email ${{email}}
gh auth switch -u ${{username}}
  1. 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="{작성자명} <{이메일 주소}>"