SlideShare ist ein Scribd-Unternehmen logo
1 von 25
そろそろGitのことも思いだしてあげてください。




         2010/09/26
自己紹介

   名前          ひむら ともひこ

 ハンドルとか        ひむひむ えいる

  twitter        @eielh

             hiroshima.rbの運営
最近の活動とか      iPhoneアプリの作成
            いろいろお手伝いしてます
アジェンダ




•Gitについて
•デモ
  •windowsで。
  •コマンドラインで。
•githubをつかってみる。
•紹介程度にとどめておく話。
Gitについて

•バージョン管理システム
 •以前の状態に戻すことができる
 •変更履歴を調べることができる
•Git以外のバージョン管理システム
  •RCS
  •CVS
  •Subversion
  •Mercurial
  •Darcs
  •Bazaar
Subversionとの違い




•リポジトリが集中型ではなく分散型
  •集中型はリポジトリがひとつ。
  •分散型は利用者全員がリポジトリをもつ。
   •履歴の確認などにサーバにアクセスする必要がない
•差分管理ではない
  •以前の状態をそのまま保存している
インストール方法




•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

   •(使いやすいけど個人的には非推奨)
インストール方法




•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/
インストール方法




•その他
 •yum install git-core
 •apt-get install git-core
 •aptitude install git
 •emerge git
重要な用語

•リポジトリ
  •バージョン管理をする上で必要なものが保存される場所
•コミット
  •復元ポイント
  •ひとつ前のコミットやファイル構成、メッセージなどの情報
  をもっている
•ワークツリー
  •実際に展開されているファイルやディレクトリ
•ステージングエリア
  •次のコミットを作成するための環境
  •インデックスとよばれていることもある
デモ




     windowsでつかってみる
デモ やったこと




 •リポジトリを作る
 •ステージングエリアに追加する
 •コミットする
  •何度か繰り返す
 •過去の状態にもどる
 •ヒストリー
デモ2




      コマンドラインでつかってみる
デモ2 コマンドラインでつかってみる




•個人的な意見ですが Subversion に比べ簡単だと思う。
基本的なワークフロー



  プロジェクトのはじめに一度だけ行うこと


•リポジトリを作る or リポジトリをコピーする
  •git init (リポジトリを作る)
  •git clone [リポジトリのURL]
   •git clone user名@ホスト名:path/repo
   •git clone http://ホスト名:path/repo
   •git clone git://ホスト名:path/repo
基本的なワークフロー



 ファイルの編集を終えたら

•変更をステージングエリアに追加する
  •git add . (変更したファイルすべてを追加)
  •git add -u (一度でもコミットに含めたファイルのみ追加)
   •新規作成したファイルは追加されない
  •git add [filename] (filenameを追加する
•状況がわからなくなったら
  •git status
•何を変更したのか確認したい場合
  •git diff
基本的なワークフロー



 ステージングエリアの内容をコミットするとき


•コミットされる内容をみたいとき
  •git diff --cached
•コミットする
  •git commit -m メッセージ
  •git commit (エディタが起動する)
•状況がわからなくなったら
  •git status
githubを使う


•githubとは
  •gitのホスティング & SNS & Wiki
    •リポジトリをおく場所として利用できる
    •他の人の活動をみることができる
    •公開リポジトリであれば制限なし
     •ディスクは300MBまで
•初期設定
  •sshの公開鍵を作成する必要がある
    •ssh-keygen
     •cat /.ssh/id_rsa.pub
    •git-guiでも作成できる
    •アカウントの設定 > ssh公開鍵
githubを使う




•リポジトリの作成
  •ダッシュボード > 新しいリポジトリの作成
  •あとは指示通りに
•アバターの設定
  •http://ja.gravatar.com/
  •gitxなのでアイコンが表示されるようになる
  •E-mailで紐付けされるようです
githubを使う




            demo
githubを使う




•別のリポジトリに変更を送るには
  •git push を使用する
•別のリポジトリから変更を取得するには
  •git pull を使用する
•自前で外部向けのリポジトリを作成するには
  •gitosis を使うの便利
紹介程度の話 便利な機能




•git branch ブランチの利用
•git stash 変更の一時退避
•git bisect 2分探索による問題発生箇所検出
•git svn subversionのリポジトリとやりとりをする
•git tag コミットに名前をつける
•git log ログの確認
紹介程度の話 参考になるサイト、書籍


•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
Gitの構造
•Gitを構成するオブジェクト
  •内容をsha-1でハッシュしたものを名前とする
    •内容が同じであれば同じ名前になる!
  •オブジェクトの種類(主なもの)
    •blob
     •ファイルの中身そのもの
    •tree
     •ディレクトリの中身
    •commit
     •基準となるディクトリになるtreeを保持
     •親のコミットを保持
     •メッセージや著者などを保持
Gitの構造




•オブジェクトの中身をみてみる
  •git cat-file -p [オブジェクトの名前]
•オブジェクトの種類をみてみる
  •git cat-file -t [オブジェクトの名前]
•オブジェクトの保存場所
  •.git/objects
ご静聴ありがとうございました。

Weitere ähnliche Inhalte

Was ist angesagt?

Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日
Tadahiro Ishisaka
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
Junji Manno
 

Was ist angesagt? (20)

WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティス
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみました
 
Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日Git for windows情報アップデート 2014年10月5日
Git for windows情報アップデート 2014年10月5日
 
Git flowについてまとめてみた
Git flowについてまとめてみたGit flowについてまとめてみた
Git flowについてまとめてみた
 
大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方大容量ファイルもGitで管理。 Git LFSの使い方
大容量ファイルもGitで管理。 Git LFSの使い方
 
Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)
 
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
 
Git超入門
Git超入門Git超入門
Git超入門
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門
 
Git Flowを運用するために
Git Flowを運用するためにGit Flowを運用するために
Git Flowを運用するために
 
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
デザイナー、フロントエンジニア向けgithub勉強会ワークショップ資料
 
Git lev 3 -おひとりさまでブランチを-
Git lev 3 -おひとりさまでブランチを-Git lev 3 -おひとりさまでブランチを-
Git lev 3 -おひとりさまでブランチを-
 
Mrubyの始め方
Mrubyの始め方Mrubyの始め方
Mrubyの始め方
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
Go modules
Go modulesGo modules
Go modules
 
Gitの使い方あれこれ
Gitの使い方あれこれGitの使い方あれこれ
Gitの使い方あれこれ
 
Git for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオンGit for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオン
 
Gitに触れよう
Gitに触れようGitに触れよう
Gitに触れよう
 
Gitの設定
Gitの設定Gitの設定
Gitの設定
 

Andere mochten auch

Happy gilmore
Happy gilmoreHappy gilmore
Happy gilmore
Sophie
 
The hangover
The hangoverThe hangover
The hangover
Sophie
 
Evaluation question 4
Evaluation question 4Evaluation question 4
Evaluation question 4
Sophie
 
Evaluation question 1
Evaluation question 1Evaluation question 1
Evaluation question 1
Sophie
 

Andere mochten auch (17)

The Document Triangle: A Guest Lecture
The Document Triangle: A Guest LectureThe Document Triangle: A Guest Lecture
The Document Triangle: A Guest Lecture
 
Happy gilmore
Happy gilmoreHappy gilmore
Happy gilmore
 
The hangover
The hangoverThe hangover
The hangover
 
Augmの裏側
Augmの裏側Augmの裏側
Augmの裏側
 
Evaluation question 4
Evaluation question 4Evaluation question 4
Evaluation question 4
 
Rails Guide 翻訳しようぜ。
Rails Guide 翻訳しようぜ。Rails Guide 翻訳しようぜ。
Rails Guide 翻訳しようぜ。
 
janlokpal v/s government lokpal
janlokpal v/s government lokpaljanlokpal v/s government lokpal
janlokpal v/s government lokpal
 
Evaluation question 1
Evaluation question 1Evaluation question 1
Evaluation question 1
 
Scientificmethod
ScientificmethodScientificmethod
Scientificmethod
 
Research skills final revision
Research skills final revisionResearch skills final revision
Research skills final revision
 
Hiroshima.rb on github
Hiroshima.rb on githubHiroshima.rb on github
Hiroshima.rb on github
 
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github
 
コンピュータをもっと使おう
コンピュータをもっと使おうコンピュータをもっと使おう
コンピュータをもっと使おう
 
Rails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決めるRails プロジェクトでスタートダッシュを決める
Rails プロジェクトでスタートダッシュを決める
 
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
 
すごい cron ? - Jenkins 試した
すごい cron ? - Jenkins 試したすごい cron ? - Jenkins 試した
すごい cron ? - Jenkins 試した
 
Gastronomy: A source of inspiration for user experience design
Gastronomy: A source of inspiration for user experience designGastronomy: A source of inspiration for user experience design
Gastronomy: A source of inspiration for user experience design
 

Ähnlich wie git-webtouchmeeting

Githubことはじめ
GithubことはじめGithubことはじめ
Githubことはじめ
tikitikipoo
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
Takashi Imagire
 

Ähnlich wie git-webtouchmeeting (20)

一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座
 
ゆるふわっGit入門
ゆるふわっGit入門ゆるふわっGit入門
ゆるふわっGit入門
 
Git
GitGit
Git
 
Git勉強会
Git勉強会Git勉強会
Git勉強会
 
今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
 
Githubことはじめ
GithubことはじめGithubことはじめ
Githubことはじめ
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
Gitのいろは
GitのいろはGitのいろは
Gitのいろは
 
底辺webプログラマが今更git語ってみた
底辺webプログラマが今更git語ってみた底辺webプログラマが今更git語ってみた
底辺webプログラマが今更git語ってみた
 
Git勉強会 #01
Git勉強会 #01Git勉強会 #01
Git勉強会 #01
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
Git超入門
Git超入門Git超入門
Git超入門
 
超初心者のためのGitマニュアル
超初心者のためのGitマニュアル超初心者のためのGitマニュアル
超初心者のためのGitマニュアル
 
Githubサービスについて
GithubサービスについてGithubサービスについて
Githubサービスについて
 
GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話
 
About git
About gitAbout git
About git
 
Git&GitHub入門
Git&GitHub入門Git&GitHub入門
Git&GitHub入門
 
Gitpractice2
Gitpractice2Gitpractice2
Gitpractice2
 

Mehr von Tomohiko Himura

Mehr von Tomohiko Himura (17)

つながりをゆるふわにしよう Active supprt notifications
つながりをゆるふわにしよう Active supprt notificationsつながりをゆるふわにしよう Active supprt notifications
つながりをゆるふわにしよう Active supprt notifications
 
Hiroshimarbについて
HiroshimarbについてHiroshimarbについて
Hiroshimarbについて
 
OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島
 
広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪い広島で Ruby が流行らないのはどう考えても俺たちが悪い
広島で Ruby が流行らないのはどう考えても俺たちが悪い
 
Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術Rails の自動読み込みを支える技術
Rails の自動読み込みを支える技術
 
すごい広島
すごい広島すごい広島
すごい広島
 
すごい Hiroshima で楽しく学ぼう
すごい Hiroshima で楽しく学ぼうすごい Hiroshima で楽しく学ぼう
すごい Hiroshima で楽しく学ぼう
 
黒い画面入門 + パッケージ管理紹介 + Macの使い方とか
黒い画面入門 + パッケージ管理紹介 + Macの使い方とか黒い画面入門 + パッケージ管理紹介 + Macの使い方とか
黒い画面入門 + パッケージ管理紹介 + Macの使い方とか
 
Mac OS X のパッケージ管理紹介/比較
Mac OS X のパッケージ管理紹介/比較Mac OS X のパッケージ管理紹介/比較
Mac OS X のパッケージ管理紹介/比較
 
軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップ軽量マークアップ言語で気楽にマークアップ
軽量マークアップ言語で気楽にマークアップ
 
Hakyllで遊んでみた。
Hakyllで遊んでみた。Hakyllで遊んでみた。
Hakyllで遊んでみた。
 
Liquid の紹介
Liquid の紹介Liquid の紹介
Liquid の紹介
 
Git 仕組み 入門
Git 仕組み 入門Git 仕組み 入門
Git 仕組み 入門
 
Hiroshimarb 027-fiber
Hiroshimarb 027-fiberHiroshimarb 027-fiber
Hiroshimarb 027-fiber
 
Hiroshimarb 027-fiber
Hiroshimarb 027-fiberHiroshimarb 027-fiber
Hiroshimarb 027-fiber
 
OSC 2012 HIROSHIMA
OSC 2012 HIROSHIMAOSC 2012 HIROSHIMA
OSC 2012 HIROSHIMA
 
SNS 「github」で遊ぼう
SNS 「github」で遊ぼうSNS 「github」で遊ぼう
SNS 「github」で遊ぼう
 

Kürzlich hochgeladen

Kürzlich hochgeladen (7)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

git-webtouchmeeting