XSERVER上のGit管理をローカルのSourceTreeと連携する方法

Git gitとsourcetreeを連携

 

SourceTreeとは何かというとGitの操作を簡単にできるようにするツールのことです。

今回はXserver上にあるファイルをSourceTreeで管理したいなと思い、SSHを使って連携をできるようにするまでの手順になります。

 

当記事では以下の2つは準備済みという前提で書いています。

1. Xserverの管理パネルで鍵ペアを作成、秘密鍵をダウンロード(以下ページで解説されています)

SSH設定|レンタルサーバー【エックスサーバー】

 

2. サーバー側にGitがインストールされていること(以下記事の真ん中らへんで解説しています。)

関連記事

  今回はXserverにLaravelをインストールしましたのでその時の備忘録としてやり方を公開したいと思います。 SSH接続が必要になりますが、私はTeraTermを使って接続しています。   X[…]

Laravelをインストールする

 

XSERVERとは

 

Xserverとはレンタルサーバーの一つで、当ブログでも使用されております。主な利点としては以下があげられます。

 

  • 暗号化通信のSSL設定が無料でできる
  • サイトの読み込みが高速にできる
  • サーバーにSSH接続ができる
  • データの自動バックアップがある

 

こんな風にサイトを運営するにはうれしい機能が揃っています。

使える言語や機能なんかも以下のページにまとめられています。

 

プログラム言語・コマンドパス|レンタルサーバー【エックスサーバー】

機能一覧|レンタルサーバー【エックスサーバー】

 

検討している方はXserverの申し込みページからどうぞ

 

サーバー側でGit管理を開始する

 

まず、サーバー側でGitでバージョン管理を始める必要があります。

Gitでバージョン管理したいディレクトリに移動します。今回は~/sample/projectsにあるとしましょう。

$ cd ~/sample/projects
# Gitでバージョン管理したいディレクトリに移動

そこで、以下コマンドを打ち込めばバージョン管理が開始されます。

$ git init

以下コマンドで.gitというフォルダができていることを確認しましょう。

$ ls -a

この時点ではファイルは登録されておらず、まだ管理は始まっていませんので、管理の対象にしてあげます。

$ git add .
$ git status
$ git commit -m "first commit"

 

次に非公開ディレクトリにベアリポジトリを作成します。ベアリポジトリとは管理用の情報のみを持つリポジトリになります。作成しないとローカルとサーバー側に差分が生じてしまう可能性があるためGitでは作成することが推奨されています。

今回は~/sample/projects.gitというディレクトリをベアリポジトリにします。(.gitとついていますが、拡張子ではありません。ベアリポジトリは慣習的に.gitとついたフォルダにするそうです。)

$ cd ~/sample
$ git clone --bare --shared ~/sample/projects projects.git

これで~/sampleにprojects.gitというディレクトリができているはずです。

これだけでもOKですが、このままだとローカルでの変更を適応するために~/sample/projectsに移動してプルしないといけません。

これは面倒なので、自動でできるようにしてしまいましょう。

 

自動でできるようにするにはまず、ベアリポジトリ内のhooksに移動し、ファイルを作成します。

$ cd ~/sample/projects.git/hooks

では、ファイルを作成します。viエディタでpost-receiveというファイルを作成します。

$ vi post-receive

内容は以下のようにしましょう。

#!/bin/sh
#

cd  ~/sample/projects
git --git-dir=.git pull ~/sample/projects.git

これで保存すれば自動的にプルされるようになり、ローカルでの変更が適応されるようになります。

最後にpost-receiveに実行権限を与えます。

$ chmod +x post-receive

これにてサーバー側の準備は終了です。

 

SourceTreeをインストール

 

では、ローカルの自分のパソコンにSourceTreeのインストールを進めます。

Windows版とMac版の両方があります。

SourceTreeは以下のサイトからダウンロードする事ができます。

https://ja.atlassian.com/software/sourcetree/overview/

 

さっそくダウンロードしたSourceTreeを開いてみましょう。まず登録画面が出てきます。アカウントが必要なので、持っていない場合は「Create one for free」を選択しましょう。GoogleアカウントがあればGoogleでログインができるみたいなので登録は必要ないかもしれません。

SourceTreeのインストール1

 

メールアドレス、ユーザー名、パスワードを入力し、「Agree and sign up」を選択します。

SourceTreeのインストール2

これでアカウントが作成されましたので、次はサインインします。「Bitbucket」を選択します。

SourceTreeのインストール3

 

先ほどのアカウントでログインしましょう。

SourceTreeのインストール4

 

無事ログインできれば以下の画面が出てくるはずです。

SourceTreeのインストール5

 

インストール画面に移りますが、Mercurialは使いませんのでインストールしなくても大丈夫です。

SourceTreeのインストール6

 

インストールが終わるまで待ちましょう。

SourceTreeのインストール7

 

最後にGitで使うユーザー名とメールアドレスを登録します。

SourceTreeのインストール8

 

この後SSHキーを読み込みますかと出るかもしれませんが、後でもできるのでいいえと選択しておきます。

これにて、インストールは完了です。

 

SourceTree側の設定

 

では、SourceTreeがインストールできたので、Xserver側と連携するための設定を行っていきましょう。

 

1. SSHの設定をする

 

まずはじめにXserver上のフォルダにアクセスできるようにSSH接続する必要があります。

 

最初にツール→SSHキーの作成/インポートを選択します。

SourceTree設定1

 

次にPutty Key Generatorというのが出てきますのでLoadを選択します。

SourceTree設定2

するとファイルを選択する画面になりますので、Xserverで生成した秘密鍵(サーバーID.key)を選択してください。

パスワードの入力を求められますので、Xserverで設定したパスワードを入れます。

 

Keyを開き、SSH-2 RSA Keyを選択。

SourceTree設定3

また、ParametersをRSAにしておきましょう。

SourceTree設定4

 

OKであればSave private keyでわかりやすい場所(デスクトップとか)に保存しておきましょう。

 

鍵が生成できたので、接続をします。ツール→SSHエージェントを起動を選択。

SourceTree設定5

 

するとPageantというものが起動します。タスクバーを見てみるとPageantというものが存在していますので、右クリックし、Add Keyを選択。

SourceTree設定6

ファイルを選択する画面になりますので、先程PuTTYで作成したキーを選択します。パスワードも求められるので、Xserverで設定したパスワードを入力します。

 

これで接続の部分は終わりになります。

 

2. プロジェクトをクローンする

 

プロジェクトをローカル環境にクローンしてみたいと思います。

 

タブの下のメニューからCloneを選択します。すると、以下の画面が出てきます。

SourceTree設定7

入力は以下のようにします。

 

  • 元のパス:ssh://サーバーID@svXXXX.xserver.jp:10022/home/サーバーID/クローンしたいディレクトリへのパス(ベアリポジトリを選択)
  • 保存先のパス:ローカルの保存したい場所(デスクトップとか)
  • 名前:ローカルのフォルダの名前
  • Local Folder:[ルート]

 

※エラーになるときはSourceTreeを再起動してみたり公開鍵がサーバーに保存されているか確認してみてください。

 

接続ができれば以下のような画面が出るはずです。

SourceTree設定8

 

これにて接続は完了し、連携された状態になります。ローカルでの変更をXserer上のリポジトリにプッシュしたりXserver側の変更をプルできるようになりました。

 

最後に

 

Xserver上でGitで管理しているプロジェクトをSource Treeと連携する方法を紹介しました。

Source Treeを使えばGUIでGitを操作できるのでコマンド操作になれていない人は非常に楽になるかと思います。

では、お疲れさまでした!

 

Gitの最新記事4件