98
70

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Visual Studio CodeでGitHubの複数アカウントを使い分ける

Last updated at Posted at 2019-01-27

単にVisual Studio CodeとGitHubを連携させるだけであれば、その方法はあちこちに落ちていますし、特に迷うこともありません。

Visual Studio CodeでGitを利用する (1/3):特集:Visual Studio Code早分かりガイド - @IT

【初心者向け】GitHubにリポジトリを作成してVisual Studio Codeと連携するまで - 鍋綿ブログ

しかし、この際、GitHubのどのアカウントを使うかについては、無視されているか、初期設定としてさらっと書かれている場合がほとんどで、

例えば「プッシュするアカウントを変えたい」とか「仕事用とプライベート用のGitHubアカウントがあって、どちらでプッシュするかをプロジェクトごとに変えたい」みたいなシチュエーションでどうすればいいのかが意外と探しても出てこなくて困りました。

TL;DR

別にVisual Studio Codeに限った操作はないので、下のURLに書かれている通りにすれば良い。

以下の内容は上記の記事を自分用に書き直しているだけです。

もう少し詳しく

アカウントを設定する

ユーザー情報の設定に関するコマンドはgit config
別にサインイン・サインアウトのような概念はなく、

git config user.name
git config user.email
で現在の設定を確認し、
git config user.name [name]
のようにして設定を上書きできる。

その後、実際にpushしようとすると別ウィンドウが開いてログインとパスワードを求められたりしますが、そこは案内に従うだけなので迷うことはあまりないかと思います。

プロジェクト(ディレクトリ)ごとにアカウント設定を変更する

git config --local user.name [name] git config --local user.email [email]

この--localを付けることでディレクトリ単位での初期設定を変更できます。
優先度はlocal > global > systemとのこと。

つまり同じgit config user.nameコマンドを入力しても、local設定が存在するディレクトリと存在しないディレクトリで結果が変わることになります。

なので、例えば、globalの初期設定は仕事用アカウントにしておいて、プライベートのプロジェクトだけlocalで設定しておけば、間違えて別のアカウントで作ったリポジトリにpushしてしまうということも防げる……はず。

いちいちsign outする方法を調べていたのですが、その必要もなかったようで助かりました。

補足

おそらくこの記事、GitとGitHubの使い方がごちゃごちゃになっている気が何となくしているのですが、どちらもほとんど使ったことのない初心者にはハードルが高いので詳しい方のツッコミをお待ちしております。

あとそもそもコマンドラインで設定しているだけなのでVisual Studio Code関係ないことも何となく想像つくのですが、「VSCode GitHubアカウント 切り替え」で検索した時にこういう記事がヒットすることで幸せになる方が私以外に数人くらいはいることを願っています。

98
70
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
98
70

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?