Next-L Enju 開発ワークショップ #02

770 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
770
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Next-L Enju 開発ワークショップ #02

  1. 1. Next-L Enju 開発ワークショップ 第2回 2012 年 3 月 10 日 田辺浩介
  2. 2. バージョン管理システムコンピュータファイルの変更者や変更履歴、コ ミット時のログなどのメタデータを管理する ための仕組みプログラムのソースコード管理で広く使用され るバージョン管理システムで管理されるファイル は「リポジトリ」に保存される
  3. 3. リポジトリバージョン管理システムで管理されている ファイルを保存する場所リポジトリは複数人で共有できる 複数人で同じファイルを同時に編集することも、そ の際に発生した複数箇所の変更をひとつにまとめ ることもできる
  4. 4. リポジトリある時点でリポジトリに登録されているファイ ル全体の状態をもとに、作業用の新しい保存 場所を分岐して作ることができる 保存場所を「ブランチ」と呼ぶ 新しい機能追加など、大規模な変更は別のブランチ を作ってそこで行い、完成したら元のブランチに 統合(「マージ」と呼ぶ)する
  5. 5. バージョン管理システムがないと誰がいつソースコードを変更したのかがわから ない 最新のソースコードがどれかわからない 不具合が出ても、どの変更でその不具合が起きたの かがつかみにくい 結果として不具合が多発する
  6. 6. ファイルサーバとの違いファイルの変更履歴やコミットログなどの メタデータの管理 特定のコミットが行われた時点のファイルだけを取 り出すことができる リポジトリ全体を特定のコミット時の状態に戻すこ ともできる つまり、間違っても問題が発生しても、簡単に元に 戻せる
  7. 7. バージョン管理システムの種類CVS, Subversion, Git などなど現在人気があるのは Git リポジトリを自分のコンピュータに作れる (サーバ不要、オフラインでもコミット可能) github の成功
  8. 8. githubGit を使ったリポジトリサービス公開リポジトリは無料で使用可能開発者の SNS 的な要素も含む 誰が、どの開発プロジェクトで、どんなコードを書 いているか どの開発プロジェクトが注目されているか
  9. 9. github の特徴クリック 1 回で他人のソースコードを 自分のリポジトリにコピーできる自分のリポジトリにコピーしたソースコードに 加えた変更を、コピー元の人に取り込んでも らうように連絡することができる
  10. 10. 課題誰かのプロジェクトを fork する変更を加えて元の作者に pull request を送信す るpull request を受け取って merge する
  11. 11. github の特徴バグ管理システムや wiki などのコミュニケーシ ョンツールもついている外部サービスとの連携機能も豊富 コミットしたら自動的にメールで通知、 Twitter に投 稿など
  12. 12. github の特徴とにかくいろいろなものが登録されている Ruby on Rails や jQuery のような超有名ソフトウェ アのソースコードも Web サイトの HTML も 自分専用のエディタの設定ファイルもとにかくいろいろな企業、いろいろな開発者が 登録している Twitter, Facebook, ほかにもたくさん
  13. 13. はじめようGithub のアカウントを取ってみましょう新しくリポジトリを作り、リポジトリにファイ ルを追加してみましょうファイルを編集し、その変更点をリポジトリに 登録しましょう
  14. 14. 用語(とりあえず覚えよう)コミット バージョン管理システムを使って、リポジトリにフ ァイルを保存すること 「チェックイン」とも呼ぶ コミット時には通常、内容を簡潔に説明するための 「コミットログ」を書くチェックアウト リポジトリからファイルを取り出すこと
  15. 15. 用語(とりあえず覚えよう)ブランチ リポジトリ内の作業領域。複数のブランチを作成す ることも、後でまとめることもできるマージ 複数人で同じファイルを変更していた場合、そのフ ァイルの変更点をひとつにまとめること たとえば、あるブランチでの作業を別のブランチに 取り込む場合にこの言葉を使用する
  16. 16. 用語(とりあえず覚えよう)コンフリクト 複数人で同じファイルの同じ箇所を、それぞれ異な る内容で編集しており、そのままではマージがで きない状態のこと どの内容を採用するかを決めてからコミットする
  17. 17. 用語(とりあえず覚えよう)フォーク あるソフトウェアをもとに、別の開発者・開発体制 でソフトウェアを新しく作り始めること あるブランチから別のブランチを作ることもこう呼 ぶ
  18. 18. 用語(とりあえず覚えよう)リビジョン ある時点でのリポジトリの状態に対して、バージョ ン管理システムが付与する ID のことタグ ある時点でのリビジョンに対して、開発者が付与す る番号やキーワードのこと
  19. 19. 作業の流れgithub のアカウントとリポジトリを作るSSH 公開鍵を作り、 github に登録するローカルにリポジトリを作るgithub にリポジトリを push (アップロード) する
  20. 20. github のアカウントとリポジトリを作る“New repository” を選択その後の手順が表示されるので従う
  21. 21. github 上のコードを取得する以下のコマンドを実行 $ git pull
  22. 22. 他人のリポジトリを自分のところに コピーする以下のコマンドで行う $ git clone git@github.com:nabeta/enju_ws.git
  23. 23. 協力しよう自分のリポジトリに他の参加者を collaborator (協力者)として追加する他の参加者のリポジトリをフォークするフォークしたリポジトリから、フォーク元に pull request (変更点の取り込みのリクエス ト)を送る

×