ユーザープロフィール

ゲストさん

非開発者でも。一風変わったバージョン管理システムの使い方×12選

非開発者でも。一風変わったバージョン管理システムの使い方×12選

RCS、CVS、Subversion、Git、Mercurialなど様々なバージョン管理システムが存在します。これらは主にソースコードの更新履歴を管理するのに使われています。従って主な利用ユーザは開発者およびWebデザイナーの方になるかと思います。

バージョン管理では主にテキストデータを扱うのに特化していますが、プログラミングコード以外にもテキストデータはあります。今回はそうした、バージョン管理システムの非開発環境下での利用法について取り上げてみたいと思います。

Git-Wiki - Git + Wikiの妙技

画像

Git-Wikiは名前の通り、コンテンツ管理にGitを使います。そのため、バージョン管理が容易に行えるのが魅力です。記法はMarkdown、Creole、Textileと複数に対応しています。作成したコンテンツはS5としてオンラインプレゼンテーションができたり、LaTeXとしてダウンロードすることもできます。ファイルをアップロードしたり、ページに関してディスカッションをする、更新情報のフィード配信、履歴を見たり差分を見たりと機能は十分にあります。さらにプラグイン対応なので、自分で拡張することも可能です。Gitならば後々のコンテンツ活用も容易になりそうです。

Gitki - GitをベースにしたWikiエンジン

画像

GitkiはGitとそのWebフロントエンドになるGitkiからなるWikiエンジンです。リポジトリ内のファイルを直接みてブラウザ上に表示します。ブラウザ上での編集機能はなく、Gitリポジトリをクローンして編集し、終わったらPushすることで内容が変わるという仕組みになっています。元になるリポジトリがオンラインにあれば、メモを公開するのも簡単です。編集は個人のリポジトリなので、ローカルでテキストエディタを使えます。また、Gitkiを使ってその内容をまずはローカルで確認すると言ったことも簡単にできるでしょう。

OOoSVN - OpenOfficeと連携するバージョン管理

OOoSVNはその名の通り、バージョン管理にSubversionを利用しています。OpenOffice機能拡張としてインストールすると、ホーム以下に.ooosvnというフォルダ(リポジトリ)を作成し、その中でバージョン管理を行います。後は修正しつつ、適時コミットを行っていけば良いです。いざとなったらバージョンを戻したり、どこが修正されているのかといった情報を引き出せます。利用にはSubversionが別途必要なのでご注意ください。オフィス文書をバージョン管理すれば、間違いも簡単に戻せ、創造性が高まるでしょう。

Code-slide - ユニーク。○日で作るWebシステムといった説明で使えそうな

画像

Code-slideはプログラミングをステップを踏みつつ説明していく時に使えるソフトウェアです。仕組みはとても簡単で、コードの管理にGitを使います。そして最初のスライド(一日目)のbranchを作り、コードを書いていきます。同様に二日目、三日目(または二枚目、三枚目)の状態を作っていきます。そうするとCode-slideのコマンドでスライドの一覧を出したり、next/prevといったオプションで前のスライド(前の状態)に戻れるようになります。前のスライドとファイルのどこが変わっているかも一覧できます。勉強会や書籍のサンプルダウンロード等で使えそうな面白いソフトウェアです。

Gource - バージョン管理の履歴をビジュアル化

画像

ビジュアル化に何の意味があるかと言われればたいした意味はありません。ですが一度実行すると時系列に沿ってどんどん成長していく様が面白く、飽きさせません。なお追加のステップを踏めばCVS/Subversionにも対応するようです。まるで木のように成長していくのは、まさにソフトウェアプロジェクトの広がりを表していると言えるでしょう。自社のソフトウェア、個人のソフトウェア、オープンソースのプロジェクトなど様々なもので試してみましょう。

Flashbake - プログラマだけじゃない。ライターな方にも便利なバージョン管理の使い方

画像

FlashbakeはベースとしてGitを使っています。Gitであればローカルにリポジトリがあるので手軽にはじめられるのが利点です。さらにGitHubなどに公開するという手もあります。Flashbakeの使い方はまずGitのリポジトリを作成後、Flashbakeコマンドを実行して進めます。実際の作業はCronなどを使って自動コミットによって行われます。15分くらいの間隔でいいでしょう。バージョン管理対象にする文書はあらかじめ決めておくので、Cronさえ設定すれば後はライティングの作業に集中できます。そしてFlashbakeの特徴としてプラグインに対応しているということが挙げられます。プラグインには例えばRSSフィードの取り込みや、Twitterのつぶやき、天気情報の取得などがあります。そうしたデータをコミット時に取得して、コミットメッセージに利用してくれるのです。

Git Store - RubyからGitをデータストアとして使う

画像

Git Storeはデータストアということもあって、キーと値の仕組みをとっています。キーを指定して値を入れ、コミットを行えばそのデータが適用されます。memcachedのようなシンプルさで、それでいて履歴管理までされるのが良いです。文字列はもちろんハッシュやオブジェクトを保存することもできます。データはシリアライズされて保存されます。キーをスラッシュでつないで、階層構造として管理することも可能です。階層化しておけば、同じ階層にあるファイルを取得と言った使い方もできます。

RubyDrop - Gitを使って誰でもDropboxを作れる

画像

RubyDropはRuby1.9系で動作するソフトウェアです。簡単に言えば、特定のフォルダに関してRubyDropが監視を行います。そして変更があると内容をリモートのGitリポジトリにアップデートします。Gitリポジトリ側で変更があれば、Pullする仕組みです。Gitなので、バージョン管理ももちろん行われます。Githubなどを使えばすぐに利用できるでしょう。設定ファイルを変更すればリモートサーバは変更できるし、管理する部分も変更できます。自動的なリモートバックアップシステムとして使ってみると面白そうです。

Gitmarks - Gitを使った分散型ソーシャルブックマークシステム

画像

Gitmarksのシステムは非常に変わっています。まずデータの管理にGitを使っています。そしてブックマークを登録するとリポジトリをコミットし、プッシュを行ってくれます。つまりローカルと同時にオンラインにもデータがあるソーシャルブックマークということです。コマンドラインまたは簡易Webサーバを使ってブックマークを保存します。コミット時に該当URLのコンテンツを取得して一緒に保存してくれます。後で見返したい時の検索はGrepで良いという考えです。さらにタグごとにフォルダが分かれて管理されていたり、コメントはGithub上でもできるよね、という考えになっています。

git-remote-dropbox - DropboxをGitリポジトリに

git-remote-dropboxはまさにDropboxをGitリポジトリのマスターにしてくれるソフトウェアです。git-remote-dropboxをインストールすると、dropbox::としてリポジトリのURIが指定できるになります。

MetroGit – Gitでフランスの地下鉄を表現

画像

Gitのコミットログやブランチを切った後の分岐やマージを見ていて何かに似ていると思った人がいたようです。確かに出発点があって、最後に終点があると言うのは似ているかも知れません。それは線路です。MetroGitはなんと、Gitのコミットログを使ってフランスの地下鉄を表現しています。既に完成しているのでこれ以上いじることはないでしょう。というか変更すると路線図にならなくなってしまいます。

Git-today – おまえは今まで修正したコードの行数をおぼえているのか?

プログラマーであれば仕事の成果はコーディング結果に現れてきます。つまりリポジトリを解析すれば自ずと作業ログが出てくる訳です。もちろん必ずしもコーディング量と比例する訳ではありませんが、基準にはなるでしょう。そこで使ってみたいのがGit-today、Gitリポジトリ解析ソフトウェアです。自分がどれくらい仕事をしたか、git-todayを使えば簡単に分かります。

Gitを使ってタイム/チケットトラッキング「tlog」

画像

開発プロジェクトにおけるタイムトラッキング、チケットトラッキングは大事なことです。その履歴を管理するという点において、コードと一緒にGitで管理してしまおうというのがtlogです。tlogではコミット時のログにtlogのログを使えます。なのでログを残しておいても決してムダにはなりません。そしてポイントという値を設定しておくことでしきい値のように指定したフィルタリングも可能になります。

Gitリポジトリを解析して貢献度を出力「graf」

画像

プロジェクトの開発において誰が一番貢献しているか測定するのに簡単な方法があります。それはコミット回数の測定です。Gitリポジトリを使っているなら試してみたいのがgrafです。別なプロジェクトの場合。複数人でコントリビュートしていると、ユーザごとに出るようになります。

面白い!Webサイトが出来上がっていく様子を再生「Time Machine」

画像

Time MachineはGitを使ってHTMLコーディングが仕上がっていく様子を画像、動画にするソフトウェアです。Webデザイナーの方がHTMLをコーディングしていく中で、後でその過程を見せたいと思ったことはないでしょうか。そこで使ってみたいのがTime Machineです。Time Machineを使うとphantomJSを使ってnode.jsでスクリーンショットを撮ります。

ファイルの共有に。15分で消える時限式Gitリポジトリ「QuickGit」

画像

QuickGitで作成されるGitリポジトリは15分でなくなります。いわばテンポラリのGitリポジトリです。生成されたリポジトリにファイルをプッシュして、別な人はPullすれば良いだけです。時間を考えると7分半でアップロードが終わっていないとダウンロードの時間がかかりそうなのであまり大きなサイズのファイルには向かないかもしれません。

まとめ

バージョン管理システム=開発者向けとして捉えてしまうと発展がありません。バックアップシステムの一つとして考えたり、データストアとして考えると他にも色々な使い方が考えられるはずです。非開発用途におけるバージョン管理システムの活用はまだまだ進んでおらず、ユーザはファイルごとコピーしたり誤って削除してしまったりと余計なコストが発生しています。ユーザフレンドリーに使える特定用途向けのバージョン管理システムはきっと需要があるはずです。

PR_infeed

PR_Relative

オウンドメディア運営会社の皆様へ

s

ページトップ