「GitHub 複数アカウント」で検索すると様々な解決方法が出てくるけど、真似してあれこれ試した結果、一番手軽だった方法はHTTPS接続することだったので記録として残しておく。
git clone
まで済ませてから、VSCode、RStudioなど好きな環境でリポジトリ管理する方針git config --global
の設定を済ませている去年の年末からサブ垢のgitまわりがまともに動かせずにいて、webサイトの制作もままならない状態だった。SSHの設定を変えたりターミナルでgit configの操作をしても埒があかないので、GUI(Sourcetree)の助けを借りたらうまくいくようになった。
冷静に考えれば、 ~/.ssh/config
でSSHの設定を煩雑にするよりも、サブ垢だけSSH認証を介さずにHTTPSで接続すれば、それで解決することだったのだ。
※色々設定をいじったので、正確に再現できていない箇所もあるかも
GitHubでリポジトリを作成し、URLをHTTPSに切り替えてからコピーする。
Sourcetreeで、新規→URLからクローン→1のURLをペースト。
2のURLを次のように書き換える。(下記 user.name
にサブアカウント名を入れる)
https://user.name@github.com/user.name/repository-name.git
保存先のパスを決めてクローン。
リポジトリ画面を開く→設定→高度な設定→グローバルユーザー設定を使う のチェックを外して、サブアカウントのユーザー名とメールアドレスを入力。
設定→リモート→リモートリポジトリのパス、「configファイルを編集」の2ヶ所も念のため確認して、3の設定が抜けていたら書き足す。user.name, user.emailが間違っていないかも確認。
6までの操作で、クローンしたリポジトリの git config --local
が設定される。ローカルのフォルダにファイルを追加すれば、commit, pushができる。
サブアカウントでの初回認証のみ、pushのときにGitHubアカウントのパスワードを聞かれる。Macでは、2回目以降はキーチェーンアクセスに保存されたパスワードを参照するので聞かれなくなる模様。
あとは好きな開発環境でGitを使うだけ。