概要
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」を起動します。
-
「GitとMercurialのグローバル作成者の詳細を設定する」にチェックを入れます。
作成者名には、公開用の名前を入れます。(要はなんでもいい)
作成者のメールアドレスには、自分のメールアドレスを入れます。(どんなメアドでもいい)
右下の「完了」ボタンをクリックします。
-
つづいて、「ローカル」のタブをクリックします。
すでに、どこかのフォルダをGitのローカルリポジトリとして設定しているなら、そこでもいいですし、簡単なのは自分のユーザーフォルダを「ディレクトリスキャン」から選択するのが簡単でいいです。
-
ローカル側のGitプロジェクトが列挙される
(自分が認識していたプロジェクト以外に列挙される驚き。あ、昔作ってたわ・・・みたいな)
リモート(GitHub)の登録リストを表示する
続いて、GitHub側のリポジトリを列挙してみます。
自分のGitHubアカウントにサインインしてみます。
-
GitHubにサインインします。
「リポジトリをフィルタ」の右側にある「・・・」ボタンをクリックして、「アカウント」を選択します。
-
「ユーザー名」には、GitHubのユーザーIDを入力します。
「パスワード」には、GitHubのアカウントパスワードではなく・・・・・Tokenを入力します。
Tokenってなに?と思う人は、下記をみてね。
ローカルプロジェクトをローカルリポジトリに追加する
ローカルリポジトリ(Git)に追加するなら、下記から行います。
ローカルリポジトリのプロジェクトをリモートリポジトリ(GitHub)に追加する
★SourceTreeからGitHubに新規リポジトリ作成はできません!
つまり、何が言いたいかというと、下記のようなことができません。
上記のように追加しようとすると、下記のエラーとなります。
エラーとしては、リポジトリが見つからない。ということなのですが、EclipseやAndroid Studioではできるローカルからリモートへの最初のコミット&プッシュがリモートへのリポジトリ作成をついでにやってくれる。という機能がないようです。
てっきり、Token作成時の権限の問題かと思ったのですが、そうではないようです。
では、どうするのか?というと、先にGitHub側でリポジトリを作成して、それをローカルにクローンします。
空のリポジトリがクローンされるので、そこにプッシュするファイルをコピーして、それを再度SourceTreeでローカルリポジトリとして認識させて、リモートにプッシュするようなことをします。
現状、Unityが、この方法をとらないといけないようなので、別途UnityプロジェクトをGitHubへ登録する記事を書いて補完しようと思います。
GitHubのToken
まずは、GitHub(https://github.com/ )のWebにサインインします。
画面右上から「Setting」を選択し、「Developer settings」を選択します。
そして、「Personal access tokens」を選択します。
Tokenを作成していない場合は、Tokenを作成します。
「Generate new Token」ボタンをクリックしてTokenを作成します。
Note欄は、複数のTokenを作成した際に区別するためのものなので、適当な名前をつけてください。
自分の場合は、PC別でTokenを使い分けているので、PC名にしてます。
Expirationは、無期限だとちょっと問題なので「90days」ぐらいで良いです。
期限が切れたら、また更新してください。
あとは、必要な権限にチェックをつけます。
参考までにandroid studio用に作成したもので下記を見てください。
https://qiita.com/TAKANEKOMACHI/items/0101f0ff88fad2696e81