スポンサーリンク
Amazon
その他

WindowsとMacで使えるGitクライアント「Sourcetree」のインストールと最初の一歩

201901_02_000

前回はRaspberry Piに自前のGitサーバーをセットアップしましたが、今回はWindowsとMacにそれぞれGitクライアントをインストールして実際にファイルを共有してみます。

以前にセットアップした自前のGitサーバーを使用する前提で解説しています。

挫折した初心者でも出来ます!Gitサーバーを【出来るだけ簡単に】セットアップする方法

Gitクライアントは「TortoiseGit」か?「Sourcetree」か?

Gitのクライアントとしては「TortoiseGit」と「Sourcetree」がデファクトスタンダードです。どちらもGitのクライアントとしての機能には大きな違いはありません。

異なるのはGUIで、Sourcetreeは専用のアプリを立ち上げる使うのに対して、TortoiseGitはWindowsのエクスプローラーに統合されます。個人的には仕事でTortoiseSVNに慣れていることもあってTortoiseGitの方が使いやすく感じますが、Sourcetreeの方がブランチの履歴などがグラフィカルで見やすいという意見も多いです。

Sourcetreeはアトラシアンという海外の会社が提供しているソフトで無料で利用できますが、自社のサービスへの誘導があるのでインストールが少し煩雑でわかりにくいです。

しかし、共有するPCにMacが混ざる場合はTortoiseGitにはMac OS版がありませんので、Sourcetreeを選択することになるでしょう。Windowsのみであればどちらでも良いかな?TortoiseGitの方がシンプルかな?くらいの違いです。Souretreeもインストールしてしまえば後は普通に使えます。

Gitクライアント「Sourcetree」のインストールの仕方

今回の私の環境ではクライアントPCにMacBookが混ざりますので、Sourcetreeをセットアップしていきます。まずはWindowsのクライアントにインストールしていきます。下のリンクからインストーラーをダウンロードして実行してください。

Sourcetree - 無料の Git & Mercurial クライアント | Atlassian
Sourcetree は、Windows および Mac 向けの無料の Mercurial および Git クライアントです。ご使用の Hg および Git リポジトリにグラフィカルインターフェイスを提供します。

インストール時にBitbucketのアカウントが必要になります。この記事を読んでいる人はアカウントをもっていないでしょうから「Create one for free」をクリックしてアカウントを作成します。

201901_02_100

BitbucketとはGit HubのようなGitサーバーのクラウドサービスです。SourctreeはこのBitbucketへユーザーを集めるための餌という訳です。Bitbucketは少人数であれば無料で利用できますので、クラウドのサーバーを使うのであれば有力な選択肢となりますが、今回は自前でGitサーバーを立てていますので不要です。しかし、Sourcetreeをインストールするためにはアカウントが必要ですので登録します。

「Create one for free」をクリックするとWEBブラウザが開いてアカウント登録のページが表示されます。メールアドレスを入力すると届くメールに記載されているURLを開くことで認証するよくあるやつです。特にたいした情報を入力することもなく、必要なのはメールアドレスくらいです。

201901_02_110

アカウントを登録すると、ブラウザにSourcetreeにGitbucketへのアクセスを許可するページが表示されます。

201901_02_120

「アクセスを許可する」をクリックすると、インストーラーが進んで自動的にアカウントが認識されます。「次へ」をクリックすると「Pick tools to download and install」の画面が表示されます。

201901_02_130

「Mercurial」はGitとは別のバージョン管理システムです。必要ないと思いますが、なにか支障があるといやなのでそのままインストールしました。更に「詳細オプション」をクリックすると「改行の自動処理を設定する」が「推奨」となっていますので、言われるがままにチェックを入れて「次へ」をクリックすると、インストールが進んで完了画面が表示されます。

201901_02_140

「次へ」をクリックすると「Preferences」画面が表示されます。少し日本語でおKな感じですが、モザイクの部分には先程Bitbucketに登録したアカウントが表示されています。今回はBitbucketを使用しませんのでチェックは外した状態にします。

201901_02_150

「SSHキーを読み込みますか?」は「いいえ」をクリックしてください。通信の暗号化の設定ですが、今回は使いません。

201901_02_160

これでインストール終了です。

Gitにファイルを追加してコミット

まずは上記でインストールしたWindows版のSourcetreeからファイルをGitに追加してみます。

初回は、Gitサーバーと関連づけるために空っぽのリモートリポジトリ(Gitサーバーのデータベース)からクローンします。クローンとはGitサーバーで管理しているファイルやディレクトリを丸ごとクライアントにコピーすることです。

201901_02_200

Sourcetreeの「Clone」を選択して、上から順番に前回セットアップしたGitサーバーのURIを入力します。IPアドレスやそれに続くディレクトリなどは自分の環境に読み替えてください。正しければ上のスクリーンショットのように「これはGitリポジトリです」と表示されます。

2番目はクライアント側のディレクトリです。予め作っておいた空のディレクトリを指定しています。

201901_02_210

3番目は任意の名前ですのでなんでも良いです。これらを入力したら下の「クローン」をクリックしてください。

すると先程のディレクトリに「.git」というフォルダが出来ます。この.gitにローカルリポジトリの管理情報が保持されます。

201901_02_220

それではGit Testフォルダにテキストファイルを追加してみます。内容は「第1版」というテキストを保存してあります。

201901_02_230

するとSourcetreeが自動的にファイルを認識して画面に表示されます。左下のファイルを選択すると右上にその内容が表示されます。なお、ここでの内容の表示はUTF-8ですので、メモ帳などの場合は名前をつけて保存で文字コードにUTF-8を選択して保存していないと文字化けします。この画面の表示だけの問題ですのでANSIで保存していて文字化けしていても問題はありません。

201901_02_240

それではサーバーに反映させて行きたいところですが、Gitの場合は「ステージ(インデックスに追加)」「コミット」「プッシュ」の3段階の手順が必要です。

「ステージ」とは「このファイルを次回のコミットの対象とします」と宣言することです。左下でファイルを選択した状態で「選択をインデックスに追加」をクリックすると、選択していたファイルが上側に移ります。

201901_02_250

これでステージされました。次の「コミット」はローカルリポジトリに変更を反映することです。Gitの場合はリポジトリがリモートリポジトリ(サーバー側のファイル管理データベース)とローカルリポジトリ(クライアント側の以下同)があります。これによってサーバーに反映することなく(=他の人に影響を与えることなく)履歴の管理などができます。ここがSubversionとの大きな違いです。

コミットは「ステージされたファイルをローカルリポジトリに反映する」ことです。コミットに対するコメントを入力して「コミット」をクリックします。「変更をすぐにプッシュする」にチェックを入れれば同時にサーバーのリモートリポジトリにも反映されますが、今回は取り合えずコミットのみします。

201901_02_260

しつこく自社サービスであるGitbucketを使わせようとしてくることがありますが、笑顔でチェックを外してOKをクリックすると元の画面に戻りますので、もう一度コミットをクリックします。

201901_02_270

コミット後の画面で左の「master」をクリックするとコミットした記録が表示されます。

201901_02_280

それではいよいよサーバーに反映します。「ローカルリポジトリの内容をリモートリポジトリに反映する」ことを「プッシュ」と言います。

画面上部の「プッシュ」をクリックして、ローカルブランチのmasterにチェックを入れてからプッシュをクリックします。

201901_02_290

するといかにもサーバーに送信してます的なステータスバーが表示された後に画面が戻ります。左のリモート内のmasterをクリックすると、サーバー側のリモートリポジトリの内容が表示されます。

201901_02_300

この時点ではリモートリポジトリはローカルリポジトリと内容が一致していますので、表示内容も同じです。

他のPC(MacBook)でファイルを変更してコミット

今度は他のPC(MacBook)へとクローンしてからファイルを変更してコミットしてみます。まずはMacにもSourcetreeをインストールします。インストールの仕方は同じですが、2台目以降はGitbucketのアカウントは登録済ですので、そのアカウントを使ってインストールしていきます。

アトラシアンのHPからダウンロードしたMac OS用のインストーラーを起動します。既にアカウントは作成済ですので「Bitbucketクラウド」をクリックします。

201901_02_500

ウェブブラウザが開いてBitbucketへのログインを求められますので、先に作ったアカウントでログインします。

201901_02_510

アカウントへのアクセスを許可します。

201901_02_520

するとインストーラーが進んで完了画面になります。

201901_02_530

「Preferences」画面はWindows版と異なり英語ですが、内容は同じで自前のGitサーバーを使う場合は不要ですのでチェックを外しておきます。

201901_02_540

新規の部分をクリックすると表示されるメニューから「URLからクローン」を選択します。

201901_02_550

「リポジトリをクローン」の入力もWindows版と基本的に同じですが、ソースURLだけは少し注意が必要です。サーバーのIPアドレスの前の「pi@」は今回GitサーバーをセットアップしているRapberry PiのLinuxユーザー名です。Mac版はこれを指定しないとMacのユーザー名を勝手に付加してしまうようです。かなりハマってしまいました。

201901_02_560

「クローン」をクリックすると、ローカルリポジトリにサーバーのリモートリポジトリがコピーされます。

201901_02_570

Macで指定したフォルダを確認するとWindows版で追加したファイルがあります。

201901_02_580

この「Gitで管理したいファイル.txt」の内容に「第2版」と書き加えて保存し、新たに「Gitで管理したいファイルの追加.txt」を新規作成しました。

201901_02_590

自動的にSourcetreeに変更・追加されていますので、それぞれの「…」をクリックして表示されるメニューから「ファイルをステージへ移動」を選択してステージします。

201901_02_600

201901_02_610

2ファイルがステージされましたので、左上の「コミット」をクリックします。

201901_02_620

ステージされた2ファイルをコミットします。今回は「コミットを直ちにプッシュする」にチェックを入れて、ローカルリポジトリへのコミットと同時にサーバーのリモートリポジトリへのプッシュも行います。

コミットのコメントを入力して「コミット」をクリックします。

201901_02_630

Windowsでコミット&プッシュした「最初のコミットだよ!」の上にMacからコミット&プッシュした「MacBookからのコミットだよ!」が履歴として積み上がったのがわかりますね。

201901_02_640

では、WindowsのSourcetreeに戻ります。F5キーを押して表示を更新するとリモートリポジトリの内容が反映されますので、左上の「プル」をクリックして表示されたダイアログで「OK」をクリックすると、リモートリポジトリのファイルがローカルフォルダにコピーされます。

201901_02_700

フォルダを確認するとMacで変更・追加したファイルがコピーされています。

201901_02_710

ここまで出来れば、あとは「この時点に戻したい」とか「ブランチ(ファイルの履歴を分岐)したい」とかネットで検索すればやっていけるでしょう。

先に書いたようにSourcetreeは海外製ですし、Bitbucketへの誘導があるので特にインストールの手順が判りにくいのですが、インストールしてしまえば以降は普通に使えます。

Gitサーバーも、超省電力で常に電源を入れておけるRaspberry Piと相性が良いですね。私も電子工作としては全然活かせていませんが、家庭内サーバーとして非常に重宝しています。規模が小さめのオフィスなどにもおすすめです。

MacBook Proと比較すると見えてくる「MacBook Airは情弱向け」な理由
気になるAmazon Echoの電気代は?実際に消費電力を計測してみました。
ミラーレスカメラの「EVFの遅延」とはなにか?なぜ起こるのか?

スポンサーリンク
楽天モバイルを初めて契約する人はこちらのリンクから契約するとMNPの場合13,000円相当、MNP以外の場合でも6,000円相当のポイントがもらえます。
楽天モバイル紹介キャンペーン


mineo 楽天モバイル

IIJmioみおふぉん(eSIM)
\ この記事をシェアする! /
\ ゆるガジェChannelをフォローする! /