リーナストーバルス氏がGitで本当に目指した大事なものの勘所(3/6)


その2から続き

大変で面倒でもしなければならないことはやる。でも楽にしたい

方針は先ほどいったように、全体の流れに合うように、好きに自分でそれぞれ管理する。好きなタイミングで更新することです。また面倒だけれども、取り込みの確認をしなければならないとリーナス氏は理解していると思います。

それを受けて、Gitでは以下の使用例を重要視しています。

  1. 中央で発生する問題は解決できない、マージするのは困難であるため諦める。中央で管理しない。
  2. 信頼できる重要な人からのみ、参考に取り入れる。
  3. 必ず、確認をする。(おそらく差分や動作も含めて)
  4. 間違いや失敗があるので、簡単に戻せるようにする。

というようなことです。

 

さらに、大事なことは確認するときに、既存のものに影響しないこと。

また単なるディレクトリ管理ではありません。CVSと同じように、柔軟に管理できるように、現在や過去の差分がわかることです。

1番めとして、全体像の管理機構が、そういう単位=レポジトリになっていると思います。 上記(ページ1)で話しました。

気軽に始められる。政治的に受け入れるかどうかの衝突がなくなる。それにより、気軽に始められたり試したりできるという、良い作用も現れました。

Git誕生10周年を記念した開発者のリーナス・トーバルズ氏のインタビュー - GIGAZINE
http://gigazine.net/news/20150407-10-years-git-linus-torvalds/
最後に「GitやGitHubの仕組みの使い方で面白かったもの」について尋ねられたトーバルズ氏は「私にとっては、新しいプロジェクトを簡単始められるようになったことだけで十分です。プロジェクトをホストすることは多くの場合大変でしたが、GitやGitHubを使えば小さなプロジェクトを進めることなど取るに足らないものになりました。重要なのは『プロジェクトが何か』ではなく『自分でプロジェクトを行える』ということです」と語っていました。

ソーシャル化するOSS開発者たち - @IT
http://www.atmarkit.co.jp/news/analysis/200904/14/git.html
分散型ではローカルPCに好きなだけブランチを作れることから、名前の衝突がなく「test」など、すぐに誰でも付けなくなるような名前をブランチに付けることができるのもメリットだという。また、中央レポジトリ上にブランチを作ると、それはプロジェクトメンバ全員から見えるという、場合によってあまり都合のよくない問題も起こりうる。 Git人気の理由:速さ  Gitを公式に採用するプロジェクトがある一方、こっそり現場がGitを使っているケースも多いのではないかとリーナスは言う。サーバが不要で、いくつかコマンドを叩くだけで、手軽にブランチが作れて、しかも非常に速い。単に新しくブランチを作るだけなら、1つあたり41バイトのファイルが生成されるだけなので、ブランチングは処理的にも心理的にもコストが低い。Git利用者はブランチが大好きで、10個や15個のブランチを平気で作るという。

2、3番めは、ソース確認でき、差分を確認でき、そして、今持っている自分の環境を壊さないように、それらができるようにgitは動くように設計されています。

ソーシャル化するOSS開発者たち - @IT
http://www.atmarkit.co.jp/news/analysis/200904/14/git.html
一般的には非常に厳格なコミット権限の運用ルールがあるものだという。下手をすればマスターのソースコードが壊れて、修復に多くの時間がかかってしまうからだ。  ソースコードに変更を加えたときに、意図せぬバグが入り込んだり、修正した場所以外で不具合が顕在化することがある。こうしたことを防ぐため、中央リポジトリの運用では、コミット権限を限定する。そしてコミット時には必ずテストスイートを走らせて、すべてにパスしなければ絶対にコミットさせないようにするという。  「テストに完全にパスするまで絶対にコミットは許されないんだよね。ところで、テストを実行するには2時間かかるんだよ……、キツイよ」。  「簡単にコミットさせるわけにはいかない。これはどんな会社でもあることで、ここグーグルでも絶対あることでしょう。現実はどうかというと、開発者は1行だけ変更したとき、テストスイートを無視するんです。だって、たった1行の変更で壊れるわけないじゃない! ……、これは本当にひどいモデルですよ」。

4番目は、好きな時点の状態に簡単に戻せるという形で解決しています。

以上が実現する上で重要な事です。

その他にもgitではオープンソースの利点を残すことをしています。いわゆる自由でかつ信頼を元にしています。

  • 多様な変種を許す。
  • 何があるかわからない。
  • 変遷や対応者を知りたい。

ソーシャル化するOSS開発者たち - @IT
http://www.atmarkit.co.jp/news/analysis/200904/14/git.html
同じプロジェクトにさまざまな変種が存在する場合もあるので、間違った変種をつかまないためにも、プロダクトの進化の歴史を人物ベースで理解する必要が出てきます。このことは、『オープンソースソフトウェアは人が作っているものだ』という原点を強く意識させます」

 

3番めの確認の仕方と4番目の自由なところに戻せる点についてもう少し深掘りし、gitの利点と設計を絡めて説明します。

 

 その4へ続く

Delicious にシェア
Digg にシェア
reddit にシェア
LinkedIn にシェア
LINEで送る
email this
Pocket

363 views.



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です