Tower 2.0 リリース

tower2-image

サイト作成をする時に分散型バージョン管理システム「Git」を利用しています。バージョン管理とは、ある時点のファイルの状態を記憶しておき、いつでもその時点までさかのぼることが出来るシステムです。サイト作成は暗闇の中を懐中電灯1本で出口を探すようなもので、あっちへ行っては戻り、そっちへ行っては戻りの繰り返し。そんな時に役立つのがバージョン管理システムです。

昔は、ファイルを複製して作業を進めていましたが、進むにつれて同じようなファイルが多数存在するようになってどれがどれだか状態になっていました。バージョン管理システムは変更があった部分だけを記録しているのでファイルが煩雑になることが無くすっきりと管理が出来ます。

そんなバージョン管理システム「Git」なんですが、基本はターミナルからコマンドラインで操作するんですが、コマンドを覚えるのは大変だし何と云っても全体を見渡せないのが難点。そこで登場するのがGitクライアントの「Tower – The most powerful Git client for Mac」です。グラフィカル・インターフェイスでファイルを管理できるのでFinderのようにファイルを扱えて面倒なコマンドラインから開放されるだけでもありがたい。

しかし、Gitを使いこなすにはカタカナ英語の専門用語を覚えなければならない。ま、新しいアプリケーションやシステムを扱う時はいつも同じなのでそのうち慣れるでしょう。Gitの概念を理解するには「サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ」が分かりやすいかな。これから試す人は一読してから取り掛かるといいですよ。

Tower 2.0 capture

今回メジャー・アップデートされたTower 2.0は、50以上の新機能およびパフォーマンスの向上が行われているようです。30日間の無料お試し期間があるので興味のある方はバージョン管理システムを体験してみてください。最初は取っつきにくいですが基本コマンドを覚えればある程度は使いこなせます。

GitとRubyを最新に

OS X用のパッケージ管理システムHomebrewを導入したのには2つの目的がありました。GitとRubyの最新バージョンを使うこと。GitはGitHubを使う上で欠かせないものだし、RubyはSASSとCompassを使うようになったのもあって、安定版Rubyにバージョンアップしてみようと云う気持ちになったのでした。私が使う用途はRubyをバリバリ使うわけでもないので、このままでもいいかなあと考えていました。が、しかし、OS XにプレインストールされているのはRuby 1.8.7です。このバージョンは昨年(2012年6月)に開発終了され、サポートは今年(2013年6月)まで行われ予定通り終了しました。現在の安定バージョンはRuby 2.0.0-p247です。ま、ついでにやっちゃいましょう!って感じです。

環境

OS X Mountain Lion 10.8.4
Xcode 4.6.3
Homebrew 0.9.4

インストール

ターミナルから

$ brew doctor
$ brew update
$ brew install git rbenv ruby-build openssl readline

次に ~/.bash_profileeval "$(rbenv init -) または if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi を追記。

$ source ~/.bash_profile  #bash環境設定の更新
$ gem install rbenv-rehash  #rehashの自動化
$ rbenv install 2.0.0-p247
$ rbenv global 2.0.0-p247  #2.0.0-p247を使う設定
$ ruby -v  #バージョンの確認

このような手順で進み終了。
元の状態(OS Xプレインストールバージョン)に戻すには

$ rbenv global system

余談ですが状態を確認するには

$ rbenv versions  #管理しているバージョンを表示
  system
* 2.0.0-p247 (set by /Users/acc/.rbenv/version)

ここまでで問題がなければインストールは終了です。
では実際に動作確認してみましょう!

$ irb  #Interactive Rubyを起動
irb(main):001:0> 1+1  #計算をしてみる
=> 2  #結果が返る
irb(main):002:0> exit  #終了

インストール手順で問題があればコメントいただければ幸いです。

Git-Towerは優れもの

icn_Tower_128.png

バージョン管理システムの Git を分かりやすく操作できる Git クライアント Tower を試用しています。ベータながらも安定していて、ほぼ正式版と遜色ない使い心地です。もう、手放せないアプリになりました。

そんな使いやすい Tower をもっと知ってもらいたいと解説ブログを立ち上げました。まだ、エントリー数が少なく初歩の初歩あたりを解説してます。これから徐々にエントリーは増やしていきますが、なにぶんと Git 初心者なので筆の進みが遅いです。暖かい目で見守ってください。 🙂

Git-Tower使いになろう!:

はじめに
リポジトリの作成
Finderで不可視ファイルを操作
SSH秘密鍵の作成
GitHubアカウントへ接続
GitHubにリモート接続

ご意見やご感想、または間違いの指摘などコメントしてくださるとうれしいです。ただ、「いいね!」だけでもお待ちしております。

MacPortsの再構築

なんとなくMacPorts環境とGitHub環境を再構築しました。不具合が生じたとか、ファイル構造がおかしくなったとかじゃないんですけど、いろんなコマンドをいじり倒したのでここでクリーンな環境に戻して使い続けようかなと。現段階だと再構築しても被害が少ないので。再構築手順も押さえておきたいという気持ちから行いました。

まずは MacPortsのアンインストール から

sudo rm -rf \
    /opt/local \
    /etc/manpaths.d/macports \
    /etc/paths.d/macports \
    /Applications/DarwinPorts \
    /Applications/MacPorts \
    /Library/LaunchDaemons/org.macports.* \
    /Library/Receipts/DarwinPorts*.pkg \
    /Library/Receipts/MacPorts*.pkg \
    /Library/StartupItems/DarwinPortsStartup \
    /Library/Tcl/darwinports1.0 \
    /Library/Tcl/macports1.0

インストール はディスクイメージから行いました。インストールが完了したら .bash_profile へパスを書き入れておきましょう。コマンドパスとmanページの表示を行う上で重要です。

# MacPorts Path --------------------------
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/share/man:/opt/local/man:$MANPATH

お好みのものをインストール。私は、bash, vim, git-core, lv, nkf をとりあえず入れておきました。

Gitの使い方メモ

バージョン管理システムに慣れてないとGitを使いこなすのは難しいね。少しずつトライ&エラーで慣れてきてはいますが、ある程度全体を見渡せるまでには時間がかかりそう。今は練習なので、バックアップしてあるファイルを対象としているので安心だけど、いざ本番となればこうはいかないだろうなぁ。もう三日目で挫折する予感。 :p

Gitコマンドを使わなくてもGitHubウェブアプリでどうにかなるし、ここは状況を見ながらやり易い方で対応していこう。

基本的な作業のコマンド例をメモしておこう。

**対象に含めないファイルを決める**
.gitignore ファイルを作成し、対象に含めないファイルを記述

**変更のあったファイルをコミット**

$ git commit -a -m “commit text”

**新たにコミットを付け替える**

$ git commit –amend -m “commit text”

**addしたファイルを止める**

$ git rm –cached

**タグを公開**

$ git push –tags

git-pull コマンドでも同じで –tags オプションを付けておかないといけないらしい。

**タグの削除**

$ git tag -d # ローカルのタグを削除
$ git push origin :refs/tags/ # リモート先のタグを削除

**リモート先のファイル変更**

To [email protected]:Pafuxu/my_files.git
! [rejected] master -> master (non-fast forward)
error: failed to push some refs to ‘[email protected]:Pafuxu/my_files.git’

リモート先ファイルに何らかの変更が加えられているので、 git-pull して同期させましょう。ローカル側を優先する場合は以下のコマンド。

$ git push origin +master:master

まだあったような気がするけど、気づいたら書き加えて行くことにしよう。