😽

SourcetreeがGitHubのプライベートリポジトリを読み込めない場合の対処方法

2022/02/07に公開

いつの頃からかSourcetreeGitHubのプライベートリポジトリを読み込めなくなってしまった。今回、この症状を解消したのでメモ。

環境

  • macOS 12.1
  • Sourcetree 4.1.5(241)

情報

sourcetree does not list github private repositoryで検索するとATLASSIANのコミュニティでスレッドが見つかる。そこから辿ると下記のページに辿り着いた。
https://community.atlassian.com/t5/Sourcetree-questions/Sourcetree-for-Mac-GitHub-account-permissions/qaq-p/961120
このページの中ほどにある方法で解決できる。

  1. Go to https://github.com/settings/tokens
  2. Click "Generate new token"
  3. Input token description e.g. "Sourcetree Mac Token", select "repo" checkbox, and click "Generate token"
  4. Copy the generated token
  5. Add your GitHub account to Sourcetree, but now rather than using OAuth, select Basic authentication
  6. Input your username
  7. Paste the generated token as password

今回はこの方法を行ってみた。

実際の手順

  1. GitHubのページで右上のアイコンをクリックしてSettingsを選択
  2. 左のメニュー一番下のDeveloper settingsを選択
  3. 表示された画面左にあるメニューからPersonal access tokensを選択
  4. Generate new tokenボタンをクリック
  5. 表示される画面で下記の情報を入力
    Note にはどの用途で使うトークンなのか後でわかる様に一応入力
    Expiration には有効期限を入力。デフォルトでは30日なので用途に合わせて。無期限にするとトークン一覧の画面で赤く注意が表示される。
    Select scopes で必要なパーミションをチェックする。基本的にrepoがあれば良い。
  6. 入力が終わったら一番下にあるGenerate tokenをクリックしてトークンを作成する
  7. 作成したトークンが表示されるのでこれをコピーする

    このトークン情報は画面遷移すると二度と表示されなくなるので注意。下の画面はもう一度同じ画面を表示した時のもの。トークンは表示されずにトークンの情報が表示される。
  8. 次にSourcetreeを起動して環境設定画面でアカウントを選択したら左下の追加…ボタンをクリック
  9. ダイアログには下記の情報を入力もしくは選択
    ホスト GitHub
    認証タイプ Basic
    ユーザー名 GitHubでのユーザ名
    パスワード 手順7でコピーしたPersonal access token
    プロトコル SSH
  10. 入力したら保存ボタンをクリック
  11. アカウントが作成されているのを確認。

以上の手順を行ってからリモートリポジトリを確認するとプライベートなリポジトリも表示されるようになっている。

最後に

いつの頃から表示されなくなったのかは良く覚えていないが、ATLASSIANのコミュニティを見ると2018年かららしい。自分の場合は調査するのが面倒だったのでSourcetreeは使わなくなったのだが今回色々とあって使えるようにしてみた。

XcodeやPyCharmはほぼ何もしない状態で(覚えてないだけ?)プライベートリポジトリにもアクセスできるようになっているので、Sourcetreeも面倒な設定なしにプライベートリポジトリにアクセスできるようになると嬉しい。

Discussion