Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

15分でわかるGit入門

62,785 views

Published on

1/29 minami.rb でLTした資料

Published in: Technology
  • 不正確過ぎる。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

15分でわかるGit入門

  1. 1. 15分!!でわかる(かも)15分!!でわかる(かも) でわかる git入門 git入門
  2. 2. 自己紹介なまえ うえだすきなもの お酒を少々嗜んでいますやったこと ウィスキー工場見学 ウィスキー工場見学 伏見酒蔵めぐり 伏見酒蔵めぐりぎっとぎっと 去年の 去年の夏に遭遇
  3. 3. ってなんですか?Git ってなんですか? 分散型の版管理システムです。
  4. 4. ってなんですか?Git ってなんですか? 分散型の版管理システムです。 ・・・っていわれてもさっぱり。 (ということにしてください。)
  5. 5. ってなんですか?版管理 ってなんですか? ファイルの更新履歴を管理原始的な例:
  6. 6. ってなんですか?版管理 ってなんですか?何を管理したいか? いつ? 誰が? なんの目的で? どのような変更を?
  7. 7. ってなんですか?分散型 ってなんですか?版管理についてわかったところで もう一つのキーワード 「分散型」についてです
  8. 8. 分散型ってなんですか?分散型ってなんですか? ってなんですか集中型と分散型について キーワードは 記録と公開 公開サーバ 公開サーバ 公開サーバ 公開サーバ 記録+ 記録+公開 更新 更新 更新 公開 記録 記録集中型モデル集中型モデル 分散型モデル 分散型モデル
  9. 9. 分散型 メリット・デメリット メリット ネットワーク無しで作業できる 大きな変更をこっそり記録 デメリット 最新がわからない ファイルロックが出来ない
  10. 10. なんですか?なぜ Git なんですか? 他に版管理システムはないの? 版管理システムはないの? システムはないの GNU arch, Bazaar, CVS, Mercurial Monotone, Subversion AccuRev, Alienbrain, BitKeeper, Perforce
  11. 11. なんですか?なぜ Git なんですか? フリーだから GitHubの GitHubの存在 RubyistならGitがおすすめ ならGit RubyistならGitがおすすめ
  12. 12. Git を使うには Windows msysgit・・・SJIS対策必須 Cygwin Vmware + linux + Git Linux・・・sudo apt-get install git-core Mac ・・・ macもってない
  13. 13. 最初のGit 最初の設定名前と連絡先は設定しようgit config --global user.name "Your Name"git config --global user.email email@gmail.comgit config --global color.ui auto最低限これだけは先に設定しよう
  14. 14. Git 入門次はGitの仕組みです。流れを押さえましょう。
  15. 15. Git 入門 基本のき記録領域・・・リポジトリ状態の記録・・・コミット、リビジョン記録を展開場所・・・ワークツリー記録を指すポインタ・・・ブランチ
  16. 16. Git 入門 単語を覚えたところで 大きな更新の流れを 抑えましょう
  17. 17. Git 入門 コミット家系図 master nexte69de29 bf08792 sdfa9872 c6dasfa ブランチ コミットする
  18. 18. Git 入門チェックアウトで好きなところに戻る master nexte69de29 bf08792 sdfa9872 c6dasfa チェックアウト
  19. 19. Git 入門 並行開発の為に分岐・・・フォーク mastere69de29 bf08792 sdfa9872 c6dasfa next as2aer3 フォーク ti38e73 2つ目のブランチ
  20. 20. Git 入門 フォークを併合する・・・ マージ mastere69de29 bf08792 sdfa9872 c6dasfa as3s7o next ti38e73 as2aer3 2つ目のブランチ
  21. 21. Git 入門コミットを重ねることで 家系図を育てていく事を わかっていただけましたか?次は、ワークツリー変更 からコミットまでの流れです。
  22. 22. 管理の仕組み Git 管理の仕組み push(公開) push(公開) リポジトリ リポジトリ 公開用) (公開用) pull(更新) pull(更新)Commit reset ステージ checkout add checkout ワークツリー A B C
  23. 23. いったんまとめ 分散型の版管理システム 記録と公開が分かれてる ネット接続なしでコミットできるよRubyistならGitがおすすめリポジトリ、コミット、ブランチ、フォーク、マージ 等の意味
  24. 24. リポジトリ作成リポジトリ作成リポジトリの作り方> cd testtest > git inittest(master) >.git ディレクトリが作成される ディレクトリが作成 作成されるこれでGit 管理領域となった GitのこれでGitの管理領域となった
  25. 25. リポジトリ作成 その2リポジトリ作成 その2リポジトリの作り方2> cd testtest > git clone http://github.com/ Minamirb/TeaParty.gitTeaParty(master) >外部からリポジトリをコピー出来る外部からリポジトリをコピー出来る からリポジトリをコピー出来
  26. 26. 更新のイメージ練習更新のイメージ練習 のイメージ ファイルをステージに上げる test ディレクトリ A B Ctest > git add A test > git add .
  27. 27. ステージを知ステージを知ろう ファイルをステージに上げる test ディレクトリ test ディレクトリ B C ステージ ステージ A A B Ctest > git add A test > git add .
  28. 28. 最初のコミットをしてみる最初のコミットをしてみる>touch A B C>git add .>git commit -m ‘initial’[master 482fbfb] initial 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 A create mode 100644 B create mode 100644 C3つのファイルが最初に記録された!! つのファイルが最初 記録された!! 最初に された
  29. 29. 更新して差分をみよう更新して差分をみよう して差分>vi A (Aファイルを更新)>git diffdiff --git a/A b/Aindex e69de29..bf08792 100644--- a/A+++ b/A@@ -0,0 +1 @@+test update前のコミットとワークディレクトリの差分を差分を表示
  30. 30. 更新して差分をみよう更新して差分をみよう して差分>git add A>git diffステージにあげると表示されないステージにあげると表示されない 表示>git diff HEAD>git diff --cached引数でいろいろな差分を れる!!引数でいろいろな差分を見れる!! でいろいろな差分
  31. 31. 現在の状態を現在の状態を見る>git status# On branch master# Changes to be committed:# (use "git reset HEAD <file>..." to unstage)## modified: A#現在の状態をチェックできます。現在の状態をチェックできます。 をチェックできます詳しくは省きます。 しくは省きます。
  32. 32. 記録したログを見記録したログを見る したログを>git logcommit cf6327718d7a5835b2ce4e35564965a25d623294Author: tomoya ueda <to.ueda82@gmail.com>Date: Sat Jan 22 23:26:28 2011 +0900 initialコミットの履歴が れます。コミットの履歴が見れます。 履歴これも詳しくは省きます。これも詳しくは省きます。
  33. 33. 記録したログを見記録したログを見る したログを>gitkGUIツールもあります。GUIツールもあります。 ツールもあります履歴を うのは楽です。履歴を追うのは楽です。
  34. 34. 更新の更新の流れ(まとめ) まとめ)init リポジトリ作成diff 前コミットからの差分表示add ステージに上げるstatus コミット内容を確認log コミットの履歴を確認gitk GUIツールも忘れずに

×