sourcetree에서 여러 git 계정 관리

소개



git 계정을 여러 개 사용하고 있을 때 발생한 문제 해결 방법입니다.
프로젝트에 따라 Github, GitBucket, BitBucket 등 여러 계정을 구분하고 싶은 경우에도 유효합니다.

환경



Mac

오류



덧붙여서, 잘 설정되어 있지 않으면 push 할 때 등에 다음과 같은 오류가 발생합니다.
"remote: Permission to 사용자 이름 1/리포지토리 이름 denied to 사용자 이름 2."

구성



다음과 같은 Git에서 관리하는 프로젝트의 경우를 가정합니다.
project
├ .git
│  └config

절차



Sourcetree에서 설정하는 경우



다음과 같이 설정하십시오.


.git config를 편집하는 경우



Sourcetree 화면의 「Congig 파일 편집」에서도 편집할 수 있지만 잘 반영되지 않는 경우가 있기 때문에, 다음은 Mac의 터미널을 사용한 경우입니다.
$ vi gitプロジェクト/.git/config

다음과 같이 푸시 대상을 등록합니다.
pushurl = https://[git 계정 이름]@github.com/User/test.git

덧붙여서, 다음과 같이 암호도 설정할 수 있습니다.
pushurl = https://[git 계정 이름]:[비밀번호]@github.com/User/test.git

config
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    url = https://github.com/User/test.git
    fetch = +refs/heads/*:refs/remotes/origin/*
    pushurl = https://gitTestUser@github.com/User/test.git
[branch "master"]
    remote = origin
    merge = refs/heads/master
                                ・
                                ・
                                ・

이제 지정한 계정으로 push할 수 있어야 합니다.

【번외편】클론으로 실패하는 경우



여러 계정을 사용하는 경우 URL에서 복제할 때 URL 인증에 실패합니다. 복제시에도 URL에 '계정 이름'과 '비밀번호'를 넣을 수 있습니다.

https://[git 계정 이름]:[비밀번호]@github.com/User/test.git

좋은 웹페이지 즐겨찾기