スキップしてメイン コンテンツに移動

SourcetreeでGitHubのプライベートリポジトリをクローンする

Sourcetreeは、初心者でも操作しやすいgitのGUIツールです。基本無料のソフトなので、あらゆる人が導入・利用しやすいという利点を持ちます。ですが、GitHubで非公開、つまりプライベートのリポジトリを取り扱う場合には、初期設定に一工夫が必要です。

本記事で紹介する設定の流れは以下の通りです。前提として、1)GitHubのアカウントとプライベートリポジトリを既に所有しているが、2)Sourcetreeを自身のPCにまだインストールしていない状態を想定しています。

  1. GitHubのPersonal access tokenを作成する
  2. Sourcetreeを自身のPCにインストールする
  3. SourcetreeにGitHubのアカウントを登録する
  4. プライベートリポジトリをクローンする
今回はPersonal access tokenという手法を用います。秘密鍵や公開鍵が必要なSSH接続とは異なり、アカウント名とパスワードのみで認証できます。そのため、アカウント管理がより重要となりますので、2段階認証でより強力なアカウント保護をおこなうことをお勧めします。また、本記事で紹介するのはWindowsでの利用です。Macでもほぼ同じ流れになるかと思いますが、試してはいませんのでご了承ください。

1. GitHubのPersonal access tokenを作成する

GitHubのPersonal access tokenとは、GitHub API またはコマンドラインを使用するときに GitHub への認証でパスワードの代わりに使用できる機能です。このトークンを自身のGitHubアカウントで作成することで、Sourcetreeからプライベートリポジトリにアクセスすることができるようになります。具体的な作り方は下記のGitHub公式ページををご参考ください。

Personal access tokenの作成方法:
https://docs.github.com/ja/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token

ポイントは手順8に書かれているScopes、つまり権限の選択です。作成したトークンで何をすることができるかを選択することができるのですが、その中から「repo: Full control of private repositories」にチェックを入れることで、プライベートリポジトリを操作することができるようになります(下図赤線参照)。



2. Sourcetreeをインストールする

次に、自身のPCにSourcetreeをインストールします。すでにインストールが完了している場合はこの章をスキップし、「3. SourcetreeにGitHubのアカウントを登録する」にすすんでください。Sourcetreeのセットアップexeファイルは以下の公式ページからダウンロードすることができます。

https://www.sourcetreeapp.com/

ダウンロードしたセットアップexeファイルを実行すると、Sourcetreeのセットアップが始まります。最初の画面では、Bitbucketのアカウントに紐づけるか否かを尋ねられます。BitbucketはGit管理ウェブサービスの一種で、GitHubと同種のサービスです。BitbucketとSourcetreeはどちらも、オーストラリアのソフトウェア企業Atlassianが運用しているので、最初に紐づけるかどうか尋ねられます。Bitbucketのアカウントを持っていない場合は、「スキップ」を押してください(下図赤枠参照)。


次に、Gitを自身のPCにインストールするか否かを尋ねられます。すでに入っている場合には、Gitの記述の左横にチェック欄がないですが、まだはいっていない場合にはチェック欄がありますので、チェックをいれて「次へ」ボタンを押してください(下図赤枠参照)。Gitの記述の下にある「Mercurial」はGitとは異なる分散型バージョン管理システムソフトウェアです。得に不要の場合はチェックをいれないでください。


次に、名前とメールアドレスを入力する画面になります。この情報はこのPCのSourcetreeからGitHubにコミットしたときに表記されます。ですので、誰が作業したのかわかるような名前と連絡先として有効なメールアドレスを入力して、「次へ」を押してください(下図赤枠参照)。


最後にSSHキーの読み込みに関して尋ねられます。windowsでSSH接続をする場合にはSourcetreeとは別に、SSHエージェントソフトウェアを起動して紐づける必要があります。今記事で紹介する手法では、SSH接続を実施する事はありませんので、「いいえ」を選択してください(下図赤枠参照)。



3. SourcetreeにGitHubのアカウントを登録する

それでは、SourcetreeにGitHubのアカウントを登録しましょう。「New tab」の表示の中に「Remote」のボタンがあります。ボタンをクリックしますと、下図のような画面になります。その中にある「アカウントを追加」をクリックしてください(下図赤下線参照)。


次に「ホスティングアカウントを設定」という画面が表示されます。そこで下記の通り設定を選択してください。(下図赤下線参照)。この設定が終わりましたら、「OAuthトークンを再読み込み」をクリックしてください(下図赤枠参照)。
  • ホスティングサービス: GitHub
  • 優先するプロトコル: HTTPS
  • 認証:OAuth

次に、別ウインドウのウェブブラウザで、GitHubとの連携認証画面が表示されます。そこにユーザー名またはメールアドレスとパスワードを入力してください。なお、すでに立ち上がっているブラウザでGitHubにサインインしていた場合、この画面は表示されません。

そうしますと、「ホスティングアカウントを設定」画面の左下に「認証に成功」という文字とチェックマークが現れます(下図赤下線参照)。その状態で「次へ」をクリックしてください(下図赤枠参照)。


こうしますと、GitHubのアカウントが画面上に追加されます(下図赤枠参照)。この状態で、ちゃんとPersonal access tokenが認識されているか確認してみましょう。左下の「アカウントを編集」をクリックしてください(下図赤下線参照)。


そうすると、オプションの認証画面が表示されます。そこの「Git 保存されたパスワード」に「github.com」が表示され、ユーザー名が「Personal Access Token」となっていたら、成功です(下図赤枠参照)。


4. プライベートリポジトリをクローンする

早速、プライベートリポジトリをクローンしてみましょう。クローンしたいリポジトリの右に表示されている「Clone」をクリックしてください(下図赤枠参照)。もし、クローンしたいリポジトリが表示されない場合は、下図赤下線を選択し、リポジトリがあるアカウントまたはオーガナイゼーションを選択してください。


次にクローンの画面に映ります。いろいろと設定がありますが、基本的には下図に振られた各番号の箇所を確認しましょう。

  • ①リポジトリURL: 意図したリポジトリURLと合致しているか確認しましょう。
  • ②クローンするフォルダパス: 「自身のgitをまとめたフォルダ/リポジトリ名」とするのがおすすめです。その際、パスに日本語が混ざらないようにしましょう。ソフトウェアによっては(Pythonの統合開発環境Spyderなど)、パスに日本語が混ざってしまうとフォルダを正しく認識することができず、ソフトウェアが起動しない等のバグを引き起こすことがあります。
  • ③ローカルレジストリ名: 特別な理由がない限りは、リモートリポジトリ名と同一にしましょう。
これで「クローン」を押せば、プライベートリポジトリからクローンをすることができます(下図赤枠参照)。


ですが、下記のようなポップアップが現れて、何度もアカウントとパスワードを入力してもクローンできない場合があります。

WindowsにインストールされているGitのバージョンが古い可能性があります。SorcetreeからインストールされているGitのバージョンを確認するには、左上の「ツール」をクリックした後、「オプション」、「Git」と選択して、表示されているポップアップを下にスクロールすると現れる「Gitバージョン」を確認してください(下図赤枠、赤下線参照)。


次に、下記のURLから最新のGit for windowsのバージョンを確認してください(記載時点では2.33.0が最新)。アップデートしたい場合は「Download for windoows」をクリックして、最新のインストールexeファイルをダウンロードして、実行してください。

http://git-scm.com/downloads

 

コメント

このブログの人気の投稿

GitHubのプライベートリポジトリからクローンできてもプッシュできないときの対処法 - Write権限の有無を確認しよう -

 以前、 SourceTreeを使って、GitHubのプライベートリポジトリにアクセスする方法 を記事にしました。その際、プライベートリポジトリからクローンできても、プッシュできない!という現象に遭遇するときがあります。下記のように、”そんなリポジトリは存在しないよ”というエラーが表示されます。 remote: Repository not found. もし、そのリポジトリがOrganaizationに属するものならば、 あなたのアカウントの権限が”Read”のみで、”Write”になっていない 可能性があります。権限に関してOrganaizationの管理者に確認してもらいましょう。 管理者がどういうルールで権限を決定しているのかによって、対応が変わるかと思います。一番手っ取り早い対応は、全てのメンバーのデフォルト権限を”Write”に変えてしまえばよいでしょう。Organaizationのページの右上にある「Settings」をクリックし、左に表示されるメニューから「Member privileges」を選択します。すると、左下のような画面が表示されますので、赤枠で囲っている「Base permissions」のプルダウン部分を"Write"に変更してください。 その他に、リポジトリ毎にアクセスできるメンバーを管理したい場合もあるかと思います。その際にはリポジトリの「Settings」→「Manage access」を選択し、設定等を変更してください。

Anaconda NavigatorでConda環境設定ファイルを読み込んで、仮想環境を作成する

科学計算のためにPythonを実施する際にとても便利な環境がAnacondaです。多くの方々が利用しているかと思います。しかし、せっかく作成した環境にどんどんとパッケージをインストール、アップデートしていってしまうと、依存関係がわからなくなってしまい、他の計算機で環境を再現できなくなってしまうこともあります。 そうなることを防ぐために、環境設定ファイルをしっかりと作成・管理して、だれでもどこでも仮想環境を再現できるようにしましょう。本記事では、初心者でも利用できるようにCUIではなくGUIであるAnacnoda Navigatorで環境設定ファイルから仮想環境を作成する方法を紹介します。 1. 環境設定ファイル(yamlファイル)を用意する 環境設定ファイル「env.yml」の記述例を以下に示します。ファイル名は任意で大丈夫ですが、拡張子はymlとしておきましょう。 name: test-env channels: - defaults - gurobi dependencies: - python=3.8 - gurobi - spyder - pandas - openpyxl "name"は仮想環境の名前です。この環境を使う目的など、わかりやすい名前をつけましょう。日本語だと上手に反映できない場合がありますので、基本、アルファベットでつけましょう。 "channels"ではパッケージのダウンロード元となるチャンネルを指定します。多くのパッケージは”defaults”が書いてあれば問題ありませんが、特定のパッケージは特別にチャンネルを指定する必要があります。使用したいパッケージがどこからダウンロードできるか、確認しておきましょう。 ”dependencies”は、この環境にインストールしたいパッケージを指定します。基本的に最新版をインストールしますが、バージョンを指定したい場合には、パッケージ名の後ろに"="をつけて、バージョンを指定しましょう。 この環境設定ファイルを作成したプログラミング毎に管理するようにしましょう。プログラミング1つに対して1環境です。プログラミングをGitで管理している場合は、環境設定ファイルをGitの追跡対象に追加することで、自然に一緒に管理すること