TECH
BLOG

WindowsでGitHubの複数アカウントをhttpsで使い分ける

2020
5

はじめに

GitHubの複数アカウントを使い分けるには片方のアカウントでSSH接続する方法があります。ですがGitHubでGit LFSのファイルはhttpsのみでSSHにできないのでダウンロードできません。そこでCredential Managerのnamespaceで複数アカウントをhttpsで使い分けます。

必須環境

Git for WindowsのインストールウィザードでEnable Git Credential ManagerをチェックしてCredential Manager for Gitを一緒にインストールします。

image.png

メインアカウントの設定

特に設定は不要です。git cloneなどを行って認証するとコントロールパネルの資格情報マネージャーのWindows資格情報にgit:https://github.comが追加されます。

image.png

サブアカウントでの設定

Credential Managerでnamespaceを設定すると資格情報の先頭のgit:が変わり複数のアカウントを使い分けることができます。

  1. cloneする時はnamespaceが設定されていないので-c credential.namespaceで指定します。指定する名前はgit以外の英数字なら何でも構いません。
  2. git -c credential.namespace=sub clone https://github.com/[name]/[repository].git
  3. ダイアログが出てくるのでサブアカウントのアカウントとパスワードを入力します。
  4. cloneできたらローカルコンフィグにcredential.namespaceを設定します。
  5. cd [repository]
    git config credential.namespace sub
  6. pushして失敗しない事を確認します。
  7. git push

cloneして認証が通った後に資格情報マネージャーを開くとsub:https://github.comが追加されています。

image.png

詳しくはCredential Manager for Windowsのcredential.namespaceを参照してください。

注意点

git configのConditional Includesを使うとgitdir:で指定したフォルダにcredential.namespaceを設定できそうですがCredential ManagerがConditional Includesに対応していないので利用できません。issuesに要望を上げたので興味ある方はリアクションやコメントをお願いします。

参考リンク

RELATED PROJECT

No items found.