未来のいつか/hyoshiokの日記 このページをアンテナに追加 RSSフィード Twitter

2014-03-25

GitHub勉強に行ってきたにゃん

ともちゃんがGitHub勉強したいにゃん、ということなので、勉強会に行ってきた。みんな猫耳つけて発表するというわけのわからない勉強会であった。

http://atnd.org/events/48075

f:id:hyoshiok:20140326071539j:imageのれんがかかっていた。

f:id:hyoshiok:20140326071538j:imageこれらはすべて手作り

f:id:hyoshiok:20140326071537j:image沢田さんの説明

f:id:hyoshiok:20140326071535j:imageLTもあった

f:id:hyoshiok:20140326071534j:imageGitHub実践入門とステッカー

わたしのお話は、GitLinus自分の問題を解決することから始まったというような歴史の話からあれやこれや。Linuxソースコード管理するためには分散型、高速、高信頼性などが必要

Linus自分PCバックアップをとっていなくてもコミットしたものインターネットにおいておけば誰かがコピーして、そのコピー改竄することが非常に難しいので安全に複数のバックアップをもつことが出来る、というようなことを言っている。

Gitレポジトリはどれが親とか子とかなくて、forkしたものをどんどん変更してcommitすることができる。これが分散型の特徴。特に、元のレポジトリアクセス権を持つ必要がない。昔のOSSの開発スタイルだと、ごく少数のすごい人たちだけがコミット権を持っていて、その人たちがボトルネックになっていた。それが分散型だと、だれもが自分コピーしたレポジトリにどんどんコミットができるので、バグを入れちゃって壊すこともあるし、すごい機能が出来ちゃうこともある。すごいものが出来たら、それをpull requestして本家本元に取り込んで貰うように頼む。このようなワークフローのおかげで、コミッターと呼ばれる人たちの文化的役割がかなりかわってきた。

コミット粒度は、論理的な一塊、例えば、バグ修正とか機能追加とか。そして、コミットコメント命令形で書く。Fix bug-1234とか。こーゆーことはドキュメントに書いてあるので、読む。

GitHub flowというのがあって、標準的ワークフローになっている。ブランチを作って、そこで何か作業をしてコミットして、プルリクエストをして、レビューして、マージしてデプロイする。シンプルワークフローである

GitHubにはパンチカードという機能があって、作業が可視化できる。

f:id:hyoshiok:20140326073750p:imagehttps://github.com/RyuPiT/SharePla/graphs/punch-card

OSSを自由にフォークして開発し、プルリクエストを行うというソーシャルコーディングGitHubを中心に広がってきた。元のレポジトリに対してコミット権を必要としていないのが集中型のレポジトリをもとにした運用ワークフローとの決定的な違いである

OSSコラボレーションを加速するためにも、ソフトウェアライセンスは明示しよう。デフォルトでは、MIT/Apache/GPLから選ぶといい。

ハッカー倫理は、情報の共有、公開、分散コンピュータに対する自由なアクセス世界をよくすることなからなる。インターネットはそのような価値観で発展してきた。FacebookのHackerwayなどは有名だ。

Be Hacker ハッカーになろう。

Make the World a better place 世界をよりよくしよう。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hyoshiok/20140325/p1