git-webtouchmeeting

469 views
437 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
469
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

git-webtouchmeeting

  1. 1. そろそろGitのことも思いだしてあげてください。 2010/09/26
  2. 2. 自己紹介 名前 ひむら ともひこ ハンドルとか ひむひむ えいる twitter @eielh hiroshima.rbの運営最近の活動とか iPhoneアプリの作成 いろいろお手伝いしてます
  3. 3. アジェンダ•Gitについて•デモ •windowsで。 •コマンドラインで。•githubをつかってみる。•紹介程度にとどめておく話。
  4. 4. Gitについて•バージョン管理システム •以前の状態に戻すことができる •変更履歴を調べることができる•Git以外のバージョン管理システム •RCS •CVS •Subversion •Mercurial •Darcs •Bazaar
  5. 5. Subversionとの違い•リポジトリが集中型ではなく分散型 •集中型はリポジトリがひとつ。 •分散型は利用者全員がリポジトリをもつ。 •履歴の確認などにサーバにアクセスする必要がない•差分管理ではない •以前の状態をそのまま保存している
  6. 6. インストール方法•Windows •git extentions •http://code.google.com/p/gitextensions/downloads/list •msysgit •kdiff •git extentions •TortoiseGit (GUIクライアント) •http://code.google.com/p/tortoisegit/downloads/list •(使いやすいけど個人的には非推奨)
  7. 7. インストール方法•Mac •git-osx-installer •http://code.google.com/p/git-osx-installer/downloads/list •Mac ports •sudo port install git-core •gitx (gitkの代用として) •http://gitx.frim.nl/ •gitbox •http://gitbox.pierlis.com/
  8. 8. インストール方法•その他 •yum install git-core •apt-get install git-core •aptitude install git •emerge git
  9. 9. 重要な用語•リポジトリ •バージョン管理をする上で必要なものが保存される場所•コミット •復元ポイント •ひとつ前のコミットやファイル構成、メッセージなどの情報 をもっている•ワークツリー •実際に展開されているファイルやディレクトリ•ステージングエリア •次のコミットを作成するための環境 •インデックスとよばれていることもある
  10. 10. デモ windowsでつかってみる
  11. 11. デモ やったこと •リポジトリを作る •ステージングエリアに追加する •コミットする •何度か繰り返す •過去の状態にもどる •ヒストリー
  12. 12. デモ2 コマンドラインでつかってみる
  13. 13. デモ2 コマンドラインでつかってみる•個人的な意見ですが Subversion に比べ簡単だと思う。
  14. 14. 基本的なワークフロー プロジェクトのはじめに一度だけ行うこと•リポジトリを作る or リポジトリをコピーする •git init (リポジトリを作る) •git clone [リポジトリのURL] •git clone user名@ホスト名:path/repo •git clone http://ホスト名:path/repo •git clone git://ホスト名:path/repo
  15. 15. 基本的なワークフロー ファイルの編集を終えたら•変更をステージングエリアに追加する •git add . (変更したファイルすべてを追加) •git add -u (一度でもコミットに含めたファイルのみ追加) •新規作成したファイルは追加されない •git add [filename] (filenameを追加する•状況がわからなくなったら •git status•何を変更したのか確認したい場合 •git diff
  16. 16. 基本的なワークフロー ステージングエリアの内容をコミットするとき•コミットされる内容をみたいとき •git diff --cached•コミットする •git commit -m メッセージ •git commit (エディタが起動する)•状況がわからなくなったら •git status
  17. 17. githubを使う•githubとは •gitのホスティング & SNS & Wiki •リポジトリをおく場所として利用できる •他の人の活動をみることができる •公開リポジトリであれば制限なし •ディスクは300MBまで•初期設定 •sshの公開鍵を作成する必要がある •ssh-keygen •cat /.ssh/id_rsa.pub •git-guiでも作成できる •アカウントの設定 > ssh公開鍵
  18. 18. githubを使う•リポジトリの作成 •ダッシュボード > 新しいリポジトリの作成 •あとは指示通りに•アバターの設定 •http://ja.gravatar.com/ •gitxなのでアイコンが表示されるようになる •E-mailで紐付けされるようです
  19. 19. githubを使う demo
  20. 20. githubを使う•別のリポジトリに変更を送るには •git push を使用する•別のリポジトリから変更を取得するには •git pull を使用する•自前で外部向けのリポジトリを作成するには •gitosis を使うの便利
  21. 21. 紹介程度の話 便利な機能•git branch ブランチの利用•git stash 変更の一時退避•git bisect 2分探索による問題発生箇所検出•git svn subversionのリポジトリとやりとりをする•git tag コミットに名前をつける•git log ログの確認
  22. 22. 紹介程度の話 参考になるサイト、書籍•Website •ProGit •http://progit.org/book/ja/ •Git チュートリアル •http://www8.atwiki.jp/git_jp/pub/git-manual-jp/ Documentation/user-manual.html•書籍 •入門Git • http://www.amazon.co.jp/%E5%85%A5%E9%96%80Git- %E6%BF%B1%E9%87%8E-%E7%B4%94-Junio-Hamano/dp/ 4798023809
  23. 23. Gitの構造•Gitを構成するオブジェクト •内容をsha-1でハッシュしたものを名前とする •内容が同じであれば同じ名前になる! •オブジェクトの種類(主なもの) •blob •ファイルの中身そのもの •tree •ディレクトリの中身 •commit •基準となるディクトリになるtreeを保持 •親のコミットを保持 •メッセージや著者などを保持
  24. 24. Gitの構造•オブジェクトの中身をみてみる •git cat-file -p [オブジェクトの名前]•オブジェクトの種類をみてみる •git cat-file -t [オブジェクトの名前]•オブジェクトの保存場所 •.git/objects
  25. 25. ご静聴ありがとうございました。

×