WEB/システム/IT技術ブログ

さくらレンタルサーバ(スタンダードプラン)にGitをインストール

現在、私はさくらレンタルサーバ(スタンダードプラン)にSubversionをインストールして活用しています。

さくらレンタルサーバ(スタンダードプラン)にSubversionをインストール

さて、少し前から「Git」が話題です。特にメリットを感じているわけではないですが、周りがそういう環境になってきたので、重い腰を上げて導入にチャレンジしたいと思います。

初めにインストール作業にあたり、PuTTyなどでさくらのサーバに接続でき、コマンドラインが使用できることを前提とします。

ソースのダウンロード

GitのソースはGoogle Project Hostingで管理されています。

git-core – Git – the stupid content tracker – Google Project Hosting

現時点での最新版はバージョン1.8.5.3です。
まず、さくらのサーバにPuTTyで接続し、コマンドラインからwgetでダウンロードします。

cd
mkdir ./src
mkdir ./src/git
cd ./src/git
wget https://git-core.googlecode.com/files/git-1.8.5.3.tar.gz --no-check-certificate
tar xzf git-1.8.5.3.tar.gz

Gitインストール

例えばインストール先を「$HOME/git」に設定してインストールします。

./configure --enable-pthreads=-pthread --prefix=$HOME/git
gmake all install

ここで「undefined reference to `pthread_create’」エラーになるので、「–enable-pthreads=-pthread」を付加します。

完了したら動作確認のコマンドを打ってみます。バージョン情報が返ってきたらひとまずインストールは成功です。

cd
./git/bin/git --version
git version 1.8.5.3

Git動作確認

リポジトリを作成してみます。
例えば「$HOME/git/repos.git」に作成します。gitの世界では「*.git」の名前のついたフォルダにリポジトリを作成するのが常識のようです。

cd
mkdir -p ./git/repos.git
cd git/repos.git
git init --bare
Initialized empty Git repository in /***/git/repos.git/

試しに空ファイル「test.txt」を作成してリポジトリにコミットしてみます。

touch test.txt
git add test.txt
git commit -m 'test commit'
[master 983577b] test commit
 Committer: User xxxxx 
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

    git config --global user.name "Your Name"
    git config --global user.email you@example.com

After doing this, you may fix the identity used for this commit with:

    git commit --amend --reset-author

 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test.txt

コミット成功です。これで最低限の環境は整いました。

ユーザ名とメールアドレスを設定してくださいとのアラートが出ていますね。メッセージ通り設定しておきます。

git config --global user.name "xxxxxxxx xxxxxxxx"
git config --global user.email xxxxx@xxxxx.xx

プッシュしてみます。この時、パスワードが必要になります。

git push
/* 中略 */
Counting objects: 5, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 425 bytes | 0 bytes/s, done.
Total 4 (delta 1), reused 0 (delta 0)
To ssh://xxxxx@xxxxx.sakura.ne.jp/home/xxxxx/git/repos.git
   01f492d..050c840  master -> master

成功です。

TortoiseGitからさくらレンタルサーバのリモートリポジトリに接続する

以前に作成したさくらレンタルサーバのリポジトリに接続してみます。

任意のフォルダを作成し、右クリック「Gitクローン」を選択し、URLに以下を入力します。

ssh://xxxxx@xxxxx.sakura.ne.jp/home/xxxxx/git/repos.git

「xxxxx」は任意のアカウント名が入ります。

クローンにはパスワードが必要なので、さくら契約の際のパスワードを入力します。
接続に成功した場合、サーバからファイルのダウンロードがスタートします。

ただ、その後、プル・プッシュの際に毎回パスワードが聞かれるのは面倒です。
そこでPutygenを使用します。

まずPutygenで秘密鍵・公開鍵を作成します。
鍵の作成方法はここでは割愛し、鍵はすでにあるものとします。Putygenの使用方法については別を参照してください。

作成した公開鍵はさくらサーバの「.ssh/authorized_keys」に追記します。ファイルがない場合は新規作成します。

先ほどクローンを作成したディレクトリ内で右クリック「TortoiseGit」⇒「設定」から設定画面を開き、「Git」⇒「リモート」から「origin」を選択し、「Putty認証」のところに秘密鍵を設定します。

その後は、プル・プッシュの際に1回目は鍵に設定したパスワードが聞かれますが、2回目以降はパスワードなしで、プル・プッシュが可能となります。

以上!WindowsからGitをGUIで活用する方法です!
恐らくGitの機能を半分も使いませんが(個人的に必要ない)、なんとなく、「Git使ってる?」なんて話題にはついていけそうです!

B!

Monthly Archives