派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

第16話 Gitユーザー名とメールアドレスをリポジトリごとに変更したい 【連載】マンガでわかるGit ~コマンド編~

f:id:itstaffing:20200904140026j:plain

 

Webサービスやアプリ開発の現場では必須のバージョン管理システム「Git(ギット)」。Gitは、専用のソフトを使えばクリックで直感的に操作することもできますが、いざというときにコマンドが使えると便利です。

前回の第15話では、「.gitconfig(コンフィグ)」 ファイルにエイリアスの設定を追加して、コマンドを省略する方法を学びました。

・「.gitconfig」ファイルを開いて編集する

$ git config --global --edit

・エイリアスを設定する

[alias]
s = status

今回の第16話では、複数のGitアカウントを使い分ける方法について学びます。このマンガを通して、わかばちゃんと一緒にGitの知識を身につけていきましょう! 

【筆者】湊川 あいさん
【筆者】湊川 あいさん
フリーランスのWebデザイナー・漫画家・イラストレーター。マンガと図解で、技術をわかりやすく伝えることが好き。 著書『わかばちゃんと学ぶ Git使い方入門』『わかばちゃんと学ぶ Googleアナリティクス』『わかばちゃんと学ぶ Webサイト制作の基本』『運用ちゃんと学ぶ システム運用の基本』が発売中のほか、マンガでわかるGit・マンガでわかるDocker・マンガでわかるRuby・マンガでわかるScrapbox・マンガでわかるLINE Clova開発・マンガでわかる衛星データ活用といった分野横断的なコンテンツを展開している。

・Amazon著者ページ
・Twitterアカウント

  ユーザー名やメールアドレスを、リポジトリごとに変更したい!

f:id:itstaffing:20200904140029j:plain
f:id:itstaffing:20200904140033j:plain

  リポジトリごとにアカウントを使い分けるには?

「仕事で使っているリポジトリには、本名と会社のメールアドレスでコミットしたい」「でも、個人の趣味で開発しているリポジトリには、ニックネームとGmailでコミットしたい」

Gitを使っていると、このように思うことはありませんか?

これを実現するには、Gitの設定ファイルを編集します。Gitの設定ファイルは、前回の第15話で編集した「~/.gitconfig」の他に、リポジトリごとに存在する「.git/config」があります。

■グローバルの 「~/.gitconfig」 ファイル

・メインで使うアカウントの設定を書きこむ(例:会社用)
・浅い階層での設定なので、全体に反映される

■リポジトリごとの 「.git/config」 ファイル

・サブで使うアカウントの設定を書きこむ(例:個人用)
・深い階層での設定なので、そのリポジトリのみにしか反映されない

ポイントは、ファイルが置いてある階層が異なることです。

  メインで使うアカウントを設定する(グローバル設定)

メインで使いたいユーザー名とメールアドレスを設定しましょう。
次のコマンドで、グローバルの「~/.gitconfig」ファイルに設定を書き込むことができます。

$ git config --global user.name "wakaba"
$ git config --global user.email "wakaba@example.com"

設定できたか、catコマンドで確認しましょう。ファイルをターミナル上で開いて内容を見ることができます。

$ cat  ~/.gitconfig     

次のように、設定が反映されていたらOKです。

[user]
   name = wakaba
   email = wakaba@example.com

  サブで使うアカウントを設定する(リポジトリごとの設定)

次に、サブで使いたいユーザー名とメールアドレスを設定しましょう。まずはサブアカウントを登録したいリポジトリに cd コマンドで移動します。リポジトリの中に入ったら、次のコマンドを実行します。

$ git config user.name "wakaba2"
$ git config user.email "wakaba2@example.com"

設定できたか、catコマンドで確認しましょう。

$ cat .git/config     

次のように、設定が反映されていたらOKです。

[user]
   name = wakaba2
   email = wakaba2@example.com

f:id:itstaffing:20190617145541j:plain
これで、アカウントを間違えてコミットする心配はなくなるな!

  まとめ

今回は、エイリアスの設定について学びました。
・メインで使うアカウントを設定する(グローバル設定)

$ git config --global user.name "wakaba"
$ git config --global user.email "wakaba@example.com"

・サブで使うアカウントを設定する(リポジトリごとの設定)

$ git config user.name "wakaba2"
$ git config user.email "wakaba2@example.com"


Gitにはまだまだたくさんのコマンドがあります。 次回は、リモートリポジトリで消されたブランチを、ローカルリポジトリからも消してくれる「git remote prune」を学びましょう。



▼登場キャラクター紹介
f:id:itstaffing:20200122103525j:plain

▼わかばちゃんが登場する書籍

▼ これまでの「マンガでわかるGit」