🔥

SourceTreeでGitHubのPersonal access tokensを利用する方法

2021/09/09に公開

背景

2021年8月13日に、GitHubでパスワード認証が廃止されました。

https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/

そのため、Personal access tokensを利用しないとSourceTreeから push/pull ができなくなります。

※pushした場合下記のようなエラーが表示されます。

git --no-optional-locks -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags origin refs/heads/main:refs/heads/main 
Pushing to https://github.com/****/****.git
User cancelled password prompt.remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/****/****.git/'
Completed with errors, see above

今回はSourceTreeでGitHubのPersonal access tokensを利用してログインする方法を記載します。

前提

このドキュメントは下記の前提で進みます。

  • GitHubアカウント作成済
  • SourceTreeインストール済
  • Mac環境

GitHubでPersonal access tokensを取得する

Githubより、[自分のアイコン] -> [Settings]をクリックします。

左サイドバーより[Developer settings]をクリックします。

左サイドバーより[Personal access tokens]をクリックします。

[Generate new token]をクリックします。

パスワード聞かれるので、入力して[Confirm password]をクリックします。

personal access tokenの設定画面が表示されます。

必要項目の入力と、チェックを入れます。

Noteには分かりやすい文字を入力します。

チェックボックスは、ご自分の環境に合わせて設定します。
今回は下記にチェック入れています。

  • repo
  • workflow
  • admin:repo_hook
  • user
  • delete_repo

設定完了したら[Generate token]をクリックします。

するとtokenが発行されるので、こちらをコピーします。
※tokenは再表示されませんので、必ずコピーをお願いします。

以上でGitHubでの操作完了です。

SourceTreeにて、tokenでログインする

次にSourceTreeでの作業に移ります。

SourceTreeより、右上の[3点ボタン] -> [アカウント...]をクリックします。

[アカウント]タブをクリックしアカウント画面に遷移し、[追加]をクリックします。

設定画面が表示されるので、下記入力します。

項目 設定・入力
ホスト GitHub
認証タイプ OAuth
プロトコル HTTPS

また、「ユーザ名」の「アカウントを接続」をクリックします。

ブラウザが開き、「SourceTreeを開きますか?」と聞かれるので、「Sourcetreeを開く」をクリックします。

すると、ユーザ名が表示されます。

間違いなければ[保存]をクリックします。
すると、アカウントが作成されました。

GitHubにpush/pullできるか確認

それではSourceTreeより、GitHubリポジトリに push/pull できるようにします。
cloneしたリポジトリを選択します。

通常通りファイル修正し、commit -> pushを行います。

[OK]をクリックします。

「Password Required」と表示されるので、先ほどコピーしたtokenを記入し「OK」をクリックします。

すると無事pushできました。

以上です。

Discussion