🗂

githubアカウント切り替えを簡単にする方法

2021/05/18に公開

はじめに

今回は git と github の使い方について質問がありました

質問内容

「github のアカウント切り替えを簡単にする方法」
git revert の話
git pull/git fetch の話

目次

  1. 「github のアカウント切り替えを簡単にする方法」
  2. git revert の話
  3. git pull/git fetch の話
  4. まとめ

1. 「github のアカウント切り替えを簡単にする方法」

仕事用とプライベート用で切り替えなければいけないので面倒
アカウントの切り替え方法はいくつかあるので自分がやりやすいものを選ぶのが良い!

手動で切り替え
$git config user.name
$git config user.email

shell コマンドを作成することでコマンド一発で切り替え
.zshrcを開いて下記を記載する

function gitMain() {
  git config --global user.name "<仕事用のgitのアカウント名>"
  git config --global user.email <仕事用のメールアドレス>
  git config --list
}

function gitPri() {
  git config --global user.name "<プライベート用のgitのアカウント名>"
  git config --global user.email <プライベート用のメールアドレス>
  git config --list
}

git config --listはなくても ok
記載し終わったら.zshrc を閉じる、ターミナルを再起動させることで反映される

あとはそれぞれの切り替えたいアカウントのコマンドを打てば切り替えができるようになる
$gitMain
$gitPri

ghqを使用する
ghq とは 予め設定したディレクトリ以下に git リポジトリをクローンし、一元管理することが出来るツール
https://github.com/Songmu/ghq-handbook/blob/master/ja/04-ghq-get.md

SourceTree を使用する
SourceTree とは、Atlassian 社が提供する Git の分散管理システムツール操作を効率的に扱う GUI で、GUI とはユーザー画面上で視覚的に操作ができる機能をもつ。
https://www.sourcetreeapp.com/

global 設定と local 設定がある

global # 現在のユーザーの共通設定
$git config --global user.name "名前"
$git config --global user.email example@email.com

lobal 設定 # 各リポジトリごとの設定
$git config --local user.name "名前"
$git congig --local user.email example@email.com

2. git revert の話

-revert: 打ち消しコミット : なかったことにするコミットをする
-f: エラー出ても止められないから怖いコマンドなので、必要な時以外使わないこと

git 操作は恐れずに使って慣れていく!間違える前提でどうするか考えておいた方がいい
→git は管理システムなのだから修正が可能
どこで間違ったかを把握して、それに適した処置(コマンド)をする
L commit だと直せる
L push だと場合によっては自分以外のメンバーが push できなくなってしまう場合がある

git のミスりがちポイントを把握すると楽になる


3. git pull/git fetch の話

$git fetch
fetch は最新のリモートの状態を持ってくるだけ
pull は最新のブランチの状態をローカルに持ってきてマージする(ローカルマージ)

$git pull
変更された内容をそのまま取り込む
もし壊れた内容を取り込んでも、直すことができるから pull だけにしている

$git fetch&$pull が良い理由
誰かがブランチ壊した場合、fetch は保険になる
ただブランチに問題があってもわからない

4. まとめ

  • github アカウントは自分の管理しやすい方法を活用する
  • ghq や SourceTree などの git の管理ツールを使う
  • revertfetch/pullに限らず、git 操作は恐れずに使って慣れていく!間違える前提でどうするか考えておいた方がいい
    →git は管理システムなのだから修正が可能
  • git のミスりがちポイントを把握すると楽になる
  • $git fetchしてから$git pullする

Discussion