[Git] 다중계정 제어하기: insteadOf

[원본 링크]

git을 써서 뭔가 여러개의 계정 권한으로 개별 레포지토리에 접근한다고 하면, 생각보다 번거로운 부분이 있다.

여기에 대해서 비교적 간단한 접근방법이 insteatOf라는 config 옵션을 사용해서 인증 정보를 라우팅하는 것이다.
이건 SSH로 할 수도 있고, access token으로도 할 수 있는데, 나는 access token이 편하더라.

적당히 발급받고

config를 연다.

vi ~/.gitconfig

그리고 라우팅하길 원하는 계정 정보와 조직명(or 계정명)을 적절히 매핑해주면 된다.

[url "https://계정명:ghp_...토큰@github.com/조직명/"]
    insteadOf = https://github.com/조직명/

혹은, git config CLI를 통해서 바로 입력할 수도 있다.

git config --global url."https://계정명:토큰@github.com/조직명".insteadOf "https://github.com/조직명/"

동일한 동작을 한다.

이러면 특정 조직명(혹은 계정명)에 속한 레포지토리에 push/fetch 등으로 접근을 시도할 때마다 insteadOf에 명시된 값으로 URL을 교체해서 쏜다.
그러니까, 이 경우에는 계정명:토큰을 가로채서 집어넣어버리는 것이다.

그러면 이제는

잘 가져올 것이다.