LoginSignup
16
19

More than 1 year has passed since last update.

SourceTreeでGitHubを使う

Posted at

概要

macosでGitHubを使おうとすると、基本はIDE(統合開発環境)にGit連携機能があり、それを経由してリモート先としてGitHubにPushしたりするわけですが、Unityを使うと、どうもこのGitHub連携部分がなくて困った。

そこで、SourceTreeでGitHub操作をすることを整理してみる

ざっと流れを記載すると

  • SourceTreeを入手する
  • Github(Private)のリストを表示する
  • Github(Private)にローカルのプロジェクトをリポジトリ追加する

GitHubのパスワード認証は廃止された

ご存知の方は多いだろう。
GitHubは2021/8にIDとパスワードを用いたパスワード認証が廃止された。
https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/

この廃止によって、意外にGitHub連携に関して記述してある記事も使えなくなっていたりする。
(パスワード認証だと書いているわけではないが、当時は一般的だったので、、、)

本記事は、このパスワード認証が廃止されたことが前提で進める。

前提環境

  • macos 12.2.1(Monterey)
  • Githubのアカウント所持
  • macosにGitインストール済み

手順

SourceTreeを入手する

まずは、SourceTreeを入手します。
https://www.sourcetreeapp.com/

インストールしたいPCでアクセスすれば、自動的に適切なOSのDownloadボタンが表示されるので、そのままダウンロードします。

*Sourcetree_4.1.6_242.zip

SourceTreeをインストールする

DownloadしたZipを解凍すると、「Sourcetree.app」が入手されるので、これをアプリケーションフォルダに移動させます。

ローカル内のGit管理プロジェクトを検出する

アプリケーションフォルダに移動させた「Sourcetree.app」を起動します。

  • 右下の「続行」をクリックします。
    スクリーンショット 2022-02-22 23.15.40.png

  • 「GitとMercurialのグローバル作成者の詳細を設定する」にチェックを入れます。
    作成者名には、公開用の名前を入れます。(要はなんでもいい)
    作成者のメールアドレスには、自分のメールアドレスを入れます。(どんなメアドでもいい)
    右下の「完了」ボタンをクリックします。
    スクリーンショット 2022-02-22 23.16.04.png

  • ひとまずSourceTreeを起動しました。
    スクリーンショット 2022-02-22 23.17.12.png

  • つづいて、「ローカル」のタブをクリックします。
    すでに、どこかのフォルダをGitのローカルリポジトリとして設定しているなら、そこでもいいですし、簡単なのは自分のユーザーフォルダを「ディレクトリスキャン」から選択するのが簡単でいいです。
    スクリーンショット 2022-02-22 23.22.57.png

  • ローカル側のGitプロジェクトが列挙される
    (自分が認識していたプロジェクト以外に列挙される驚き。あ、昔作ってたわ・・・みたいな)
    スクリーンショット 2022-02-22 23.25.23.png

リモート(GitHub)の登録リストを表示する

続いて、GitHub側のリポジトリを列挙してみます。
自分のGitHubアカウントにサインインしてみます。

  • GitHubにサインインします。
    「リポジトリをフィルタ」の右側にある「・・・」ボタンをクリックして、「アカウント」を選択します。
    スクリーンショット 2022-02-22 23.29.57.png

  • GitHubアカウントを設定します。
    左下の「追加」ボタンをクリックします。
    スクリーンショット 2022-02-22 23.31.45.png

  • 下記の状態にまずは選択を変更します
    スクリーンショット 2022-02-22 23.33.01.png

  • 「ユーザー名」には、GitHubのユーザーIDを入力します。
    「パスワード」には、GitHubのアカウントパスワードではなく・・・・・Tokenを入力します。

Tokenってなに?と思う人は、下記をみてね。

  • GitHubのPrivateリポジトリも列挙される
    スクリーンショット 2022-02-22 23.50.12.png

ローカルプロジェクトをローカルリポジトリに追加する

ローカルリポジトリ(Git)に追加するなら、下記から行います。
スクリーンショット 2022-02-23 0.02.37.png

ローカルリポジトリのプロジェクトをリモートリポジトリ(GitHub)に追加する

★SourceTreeからGitHubに新規リポジトリ作成はできません!

つまり、何が言いたいかというと、下記のようなことができません。

  • ローカルのリポジトリ一覧からGitHubへ追加するものを選択します。
    スクリーンショット 2022-02-23 0.05.59.png
  • 右クリックして「リモートに公開...」を選択します。
    スクリーンショット 2022-02-23 0.07.43.png

上記のように追加しようとすると、下記のエラーとなります。
エラーとしては、リポジトリが見つからない。ということなのですが、EclipseやAndroid Studioではできるローカルからリモートへの最初のコミット&プッシュがリモートへのリポジトリ作成をついでにやってくれる。という機能がないようです。

てっきり、Token作成時の権限の問題かと思ったのですが、そうではないようです。

では、どうするのか?というと、先にGitHub側でリポジトリを作成して、それをローカルにクローンします。
空のリポジトリがクローンされるので、そこにプッシュするファイルをコピーして、それを再度SourceTreeでローカルリポジトリとして認識させて、リモートにプッシュするようなことをします。

現状、Unityが、この方法をとらないといけないようなので、別途UnityプロジェクトをGitHubへ登録する記事を書いて補完しようと思います。

スクリーンショット 2022-02-23 2.22.22.png

GitHubのToken

まずは、GitHub(https://github.com/ )のWebにサインインします。
画面右上から「Setting」を選択し、「Developer settings」を選択します。
そして、「Personal access tokens」を選択します。

スクリーンショット 2022-02-22 23.36.28.png

Tokenを作成していない場合は、Tokenを作成します。
「Generate new Token」ボタンをクリックしてTokenを作成します。
スクリーンショット 2022-02-22 23.42.32.png

Note欄は、複数のTokenを作成した際に区別するためのものなので、適当な名前をつけてください。
自分の場合は、PC別でTokenを使い分けているので、PC名にしてます。

Expirationは、無期限だとちょっと問題なので「90days」ぐらいで良いです。
期限が切れたら、また更新してください。

あとは、必要な権限にチェックをつけます。
参考までにandroid studio用に作成したもので下記を見てください。
https://qiita.com/TAKANEKOMACHI/items/0101f0ff88fad2696e81

16
19
0

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
16
19