Successfully reported this slideshow.

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

0

Share

Upcoming SlideShare
Git勉強会 #01
Git勉強会 #01
Loading in …3
×
1 of 23
1 of 23

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

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. github Git を使ったリポジトリサービス 公開リポジトリは無料で使用可能 開発者の 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 (変更点の取り込みのリクエス ト)を送る

×