« Redmineチケットの階層化の実装方法 | トップページ | Subversion・Git・Mercurialの比較 »

2012/05/03

msysGitがUTF-8 をサポート

msysGitがUTF-8 をサポートしたらしいので、インストールしてみた。

【元ネタ】
msysGit(Git for Windows)がいよいよ公式に UTF-8 をサポート! - てっく煮ブログ

UTF-8 対応の msysGit 1.7.10 リリース! いよいよ Windows で git できるよ!!! - てっく煮ブログ

Techno Pocket - Technical Memo - Git勉強環境 on Windows 構築メモ

msysgit v1.7.10 のインストールと日本語入力の暫定対応 - アジャイルSEを目指すブログ

小粋空間: Github を Windows で利用する(Git GUI編)

Windows 上に Git 環境を構築する方法(TortoiseGit と msysGit) | 日本Symfonyユーザー会

Git/一人で使ってみる(msysgit編) - 俺の基地

コマンドプロンプト上で日本語ファイルもコミットできるし表示もできる。
サーバーのGitリポジトリにPushしてもうまくいくみたい。

git init
git add テスト.txt
git commit -m "テスト.txtをコミット"
git log --graph
git log --stat

Mercurialの方が慣れているけれども、Gitでも違和感はない。
分散バージョン管理の考え方はどちらも同じだから。

こういうツールに触れて思うのは、XPが提唱したプラクティスを実現するツールがようやく生まれて、アジャイル開発というアイデアが時代に追いついたことだ。
XPのプラクティスである継続的インテグレーションがJenkinsというツールを生み出し、小規模リリースという概念をサポートするためにTracやRedmineというツールが必須なように、ソースの共同所有はGitやMercurialというバージョン管理ツールを必要とする。

バージョン管理は単なるソースのバックアップではない。
達人プログラマー―システム開発の職人から名匠への道」の初版に書かれているように、ソース修正のUndoやRedoをサポートするために存在するツールなのだ。
修正履歴をたどれるから、誰がこの行を変更したのか、今のバージョンと先週のバージョンは何が違うのか、などを探すことができる。
つまり、バグの追跡や監査、品質管理に大きく役立つ。
チケット駆動開発は「No Ticket, No Comimt」のルールによって、この性質をトレーサビリティまで拡張した点に意義がある。

更に、タグを振ることで、ソフトウェアのリリース番号を管理することもできる。
継続的インテグレーション入門 開発プロセスを自動化する47の作法」では、タグのことを「リポジトリ資産にラベル付けする」という言葉で紹介しているが、これはITILの構成管理における構成管理データベース(CMDB)の構成管理アイテム(CI)を連想させる。
つまり、タグは単なるスナップショットではなく、ベースラインでもある。

GitやMercurialで重要な機能は、強力なマージ機能と修正履歴の改変機能だ。
マージ作業もUndo、Redoができることによって、複数のブランチ管理も怖くなくなる。

Mercurialの黒魔術: プログラマの思索

rebaseのイメージ: プログラマの思索

色々触ってみる。

|

« Redmineチケットの階層化の実装方法 | トップページ | Subversion・Git・Mercurialの比較 »

廃止Mercurial」カテゴリの記事

構成管理・Git」カテゴリの記事

Agile」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« Redmineチケットの階層化の実装方法 | トップページ | Subversion・Git・Mercurialの比較 »