Sourcetreeで始めるGit 2020

著者環境

macOS Mojave を使用しています。私のターミナル環境はBash がインストールされていて、$ から始まります。最近のmacOS では、zsh がインストールされていて、% から始まります。zshユーザーの環境でも確認しておりますので、$ときたら、%と置き換えてこの記事を読んでください。

今回は、Git Sourcetree GitHubを使い、リポジトリの管理をしたいと思います。

Gitを使い、ローカルリポジトリを管理し、GitHubのリモートリポジトリで公開、共同開発を行います。

Gitは、テキストコマンドだけでローカルリポジトリを操作します。それは、いまどのブランチなのかローカルリポジトリなのかはたまたリモートリポジトリを操作しているのかわかりづらく混乱の元になります。こんがらないためにも、Git を可視化したアプリである、Sourcetreeを使ってみましょう。今回は、こちらのソフトを使いGit GitHubを操作しましょう!

事前に、Githubのユーザーを取得して置いてください。

Sourcetreeをインストールします

ブラウザーで上記リンクより、青色のDownload for Mac OS X ボタンをクリックします。

I agree to the Atlassian Software License Agreement and Privacy Policy.

のチェックボックスにチェックを入れます。

Download をクリックします。

Finderより、ダウンロードディレクトリにダウンロードしたSourcetree.appをクリックします。

“Sourcetree.app”はインターネットからダウンロードされたアプリケーションです。開いてもよろしいでしょうか? と画面表示されたら、開くをクリックします。

Move to Applications folder?

これは、アプリケーションディレクトリにアプリケーションを移動させますか?と表示されます。Move to Applications Folder をクリックさせて移動させます。

Sourcetree is provided by Atlassian for free. We also offer bitbucket for all your source management needs and it's easy for you to set that up now. Adding this is optional,registration is not required

SourcetreeはAtlassianによって無料で提供されます。また、すべてのソース管理ニーズに対応するbitbucketも提供しており、簡単に設定できます。これの追加はオプションであり、登録は必要ありません。

解説
bitbucketとは、GitHubと同じ、バージョン管理ツール(Git)のリポジトリを公開してくれるホスティングサービスです。

今回は、ホスティングサービスをGitHubを使用しようと思います。

You can cannot Sourcetree to other services like Github, GitLab, and Azure DevOps later in the Accounts preferences pane

後からGithub GitLab Azure DevOps の他のサービスに、Sourcetreeは設定することができません。

続行ボタンをクリックします。

設定

終了する前に、これらの設定を構成する為に少し時間をかけてください。

Git と Mercurialのグローバル作成者の詳細を設定するにチェックしてテキストボックスを埋めます。
GitHubでログインするユーザー名とユーザーメールアドレスを入れます。
完了ボタンをクリックします。

解説
Mercurial は、マーキュリアルと呼び、分散型バージョン管理ソフトの一つです。
GitHubでログインするユーザー名は、GitHubを開いて、ログインしていると、右上のアイコンをクリックするとユーザー名がわかります。

GitHubの設定

GitHubとSourcetreeをSSH接続して関連づけします。

公開鍵と秘密鍵の作成

SSH認証のため自分のmacOSより、公開鍵、秘密鍵を作成します。
ターミナルを起動して、SSH接続用の公開鍵、秘密鍵があるか確認します。
ターミナルを起動するとホームディレクトリが表示されます。確認のため、以下コマンドを実行するとホームディレクトリに移動します。

$ cd ~

公開鍵と、秘密鍵があるか確認します

$ ls -al ~/.ssh

ls: /Users/ユーザー名/.ssh: No such file or directory

となったらSSH接続用の鍵はありません。

SSH認証のための公開鍵と秘密鍵を作成

$ ssh-keygen -t rsa -C GitHubにログインするためのEmailアドレス
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザー名/.ssh/id_rsa):

これは鍵をどこに保存するか聞かれているので、そのままでEnterキーをクリックします。

Enter passphrase (empty for no passphrase):

文字列を入れてパスワードを作成します。後々使います。

Enter same passphrase again:

同じ文字列を入れてパスワードを作成します。

Your public key has been saved in /Users/ユーザー名/.ssh/id_rsa.pub.
The key fingerprint is:
SSHkey/0000 email@gmail.com
The key's randomart image is:
+---[RSA 2048]----+
|ooO=oo.... |
|o= =o..o. |
|..+ .. + |
|.+ . .+ + |
|o o ..o S O . |
|.. .. + X = . |
| . .E + o |
| +. . + |
| oo.o |
+----[SHA256]-----+

公開鍵と秘密鍵の確認

$ ls -al ~/.ssh
id_rsa
id_rsa.pub

と、秘密鍵ファイル(id_rsa) 公開鍵ファイル(id_rsa.pub) が作成されました。

秘密鍵と公開鍵があるディレクトリに移動します

$ cd .ssh

鍵のパーミッションを設定します

$ chmod 600 id_rsa

解説
ファイルのパーミッション(読み込み、書き込み、実行)などの権限を与えます。
最初の6は、所有者に対して、読み込み、書き込みができます。
次の0は、グループに対して、権限を与えます。が0なので何も与えません。
次の0は、その他のユーザーに対して、権限を与えます。が0なので何も与えません。

ssh-agentに鍵を登録

ssh-agent とは、公開鍵認証方式による認証を行なっているSSHサーバーへ接続する際にパスフレーズを入力などを変わりに実行してくれるアプリケーションです。

$ ssh-add -K
Enter passphrase for /Users/hiroishi/.ssh/id_rsa:

先ほど作った鍵のパスワードを入れます。

Identity added: /Users/ユーザー名/.ssh/id_rsa (ユーザーのメールアドレス@gmail.com)

configを作成します。

$ touch config

configファイルをエディターで編集します。

Host github.com
 HostName github.com
 IdentityFile ~/.ssh/id_rsa
 User git

をconfigファイルに入れます。
私は、エディターにviエディターを使います。

$ vi config

iキーをクリックして、INSERTモードにします。

Host github.com
 HostName github.com
 IdentityFile ~/.ssh/id_rsa
 User git

をコピペします。

escキーをクリックして、:wq! と入れてエンターキーをクリックすると保存します。

configファイルの確認

$ cat config
Host github.com
  HostName github.com
  IdentityFile ~/.ssh/id_rsa
  User git

であることを確認します。

GitHubへ、公開鍵の登録

ブラウザーより、

を開きます。

SSH keys のNew SSH key ボタンをクリックします。

Title は任意で、文字を入れます。
first key としました。

Key は、
ターミナルより、

$ pbcopy < ~/.ssh/id_rsa.pub

をすると、コピーできます。
Key のテキストボックスにcommand + v で貼り付けます。
Add SSH key ボタンをクリックします。

Confirm password to continue

画面が表示されたら、Githubにログインするためのパスワードを入れてConfirm passwordをクリックします。

GitHub にSSH接続できるか確認

ターミナルより、

$ ssh -T git@github.com
The authenticity of host 'github.com ( 00.00.000.00)' can't be established.
RSA key fingerprint is 鍵の英数字.
Are you sure you want to continue connecting (yes/no)?

yesと入れてenterキーを入れます。

Warning: Permanently added 'github.com,00.00.000.00’ (RSA) to the list of known hosts.
Hi GitHubのユーザー名! You've successfully authenticated, but GitHub does not provide shell access.

Sourcetree の設定

Sourcetree を起動した後、上部メニューより、Sourcetree をクリックしてください。

環境設定 → アカウント → 追加 の順に クリックします。

スクリーンショットSourcetree1

ホストをGitHubにします。
アカウントを接続をクリックします。

Authorize SourcetreeForMac が表示されたら、緑色のAuthorize atlassian をクリックします。

保存ボタンをクリックします。

赤色ばつボタンで環境設定を閉じます。

GitHubからリモートリポジトリを登録

GitHubからリモートリポジトリ取得する場合と、Sourcetreeからリモートリポジトリを作成する場合があり、新人などは、既存のプロジェクトに入ることが多いと思うので、GitHubからリモートリポジトリを取得する場合をこのnoteでは解説します。

Sourcetree のアプリを起動すると、 ローカル リモート 新規... リポジトリをフィルタの中から、リモートをクリックして、新規...をクリックします。

URL からクローン をクリックします。

リポジトリをクローンが表示されたら、

ソースURL: には、リモートリポジトリを管理するGitHubのユーザーのURLを入れます。

ブラウザーより、https://github.com/取得したいGIthubのユーザー名/取得したいリポジトリ名 を開いて、Clone or download をクリックして 今回は、Use HTTPSをクリックします。

URL をコピーして、ソースURL に貼り付けます。

貼り付けるURLは
git@github.com:取得したいGithubのユーザー名/取得したいリポジトリ名.git

保存先のパスは、自分の環境でのローカルリポジトリ(ディレクトリ)を設定します。… をクリックして指定します。

以下が表示されたら
=================================

git-credential-surcetree は、キーチェーン内の”github.com Access Key for ユーザー名”に保存されている機密情報を使用しています。と表示されたら、秘密鍵、公開鍵を作成した時の、パスワードを入れます。

常に許可ボタンをクリックします。

====================================

開くボタンをクリックします。
クローンボタンをクリックします。
さて、リモートリポジトリをクローンしてきました。

保存先パス設定したにローカルリポジトリ(ディレクトリ)にファイルを追加しましょう。

自分は touch コマンドで、index.htmlを作りました。

git add してみましょう

git add をして、ディレクトリ内のファイルをインデックスに追加します。

Sourcetree (一覧ではなく個々のリポジトリ画面)を見ると、左側にワークスペース → ファイルステータス の順に見てみましょう。

index.html が表示されました。 index.htmlの左横にあるチェックボックスを入れます。

index.htmlの右横にある、・・・ をクリックします。

ファイルをステージングに移動をクリックします。

git commit してみましょう

git commit してローカルリポジトリをコミットします。

Surcetree 上部にあるコミットをクリックします。

下部にユーザー名<emailアドレス>
の中にコミットメッセージを入れます。

first add index.html としました。指定はないので、自由に文字列を入れてください。

Sourcetree上部にある、コミットボタンをクリックします。

git pushしてみましょう

git push でリモートブランチにプッシュしましょう。

左側のmaster をクリックしてみましょう。

Sourcetree 上部にあるプッシュをクリックします。

プッシュ先のリポジトリが表示されたら、右横の内容があってる確認してOKボタンをクリックします。

GitHub上のリポジトリの確認

GitHub上のリモートリポジトリをブラウザーから確認してみましょう。

自分のGitHubのリモートリポジトリだと、index.html が追加されていると思います。






この記事が気に入ったらサポートをしてみませんか?