SlideShare a Scribd company logo
1 of 34
Download to read offline
15分!!でわかる(かも)
15分!!でわかる(かも)
     でわかる
        git入門
        git入門
自己紹介
なまえ     うえだ
すきなもの   お酒を少々嗜んでいます
やったこと   ウィスキー工場見学
        ウィスキー工場見学
        伏見酒蔵めぐり
        伏見酒蔵めぐり
ぎっと
ぎっと     去年の
        去年の夏に遭遇
ってなんですか?
Git ってなんですか?
 分散型の版管理システムです。
ってなんですか?
Git ってなんですか?
 分散型の版管理システムです。
  ・・・っていわれてもさっぱり。
      (ということにしてください。)
ってなんですか?
版管理 ってなんですか?
 ファイルの更新履歴を管理
原始的な例:
ってなんですか?
版管理 ってなんですか?
何を管理したいか?
 いつ?
 誰が?
 なんの目的で?
 どのような変更を?
ってなんですか?
分散型 ってなんですか?
版管理についてわかったところで
 もう一つのキーワード
 「分散型」についてです
分散型ってなんですか?
分散型ってなんですか?
   ってなんですか
集中型と分散型について
 キーワードは 記録と公開
 公開サーバ
 公開サーバ                公開サーバ
                      公開サーバ


         記録+
         記録+公開   更新                更新
   更新                   公開
                 記録           記録

集中型モデル
集中型モデル                分散型モデル
                      分散型モデル
分散型 メリット・デメリット
 メリット
  ネットワーク無しで作業できる
  大きな変更をこっそり記録
 デメリット
  最新がわからない
  ファイルロックが出来ない
なんですか?
なぜ Git なんですか?
 他に版管理システムはないの?
   版管理システムはないの?
      システムはないの
 GNU arch, Bazaar, CVS, Mercurial
 Monotone, Subversion
 AccuRev, Alienbrain, BitKeeper, Perforce
なんですか?
なぜ Git なんですか?
 フリーだから
 GitHubの
 GitHubの存在
 RubyistならGitがおすすめ
        ならGit
 RubyistならGitがおすすめ
Git を使うには
 Windows
   msysgit・・・SJIS対策必須
   Cygwin
   Vmware + linux + Git
 Linux・・・sudo apt-get install git-core
 Mac ・・・ macもってない
最初の
Git 最初の設定
名前と連絡先は設定しよう
git config --global user.name "Your Name"
git config --global user.email email@gmail.com
git config --global color.ui auto


最低限これだけは先に設定しよう
Git 入門


次はGitの仕組みです。
流れを押さえましょう。
Git 入門

 基本のき
記録領域・・・リポジトリ
状態の記録・・・コミット、リビジョン
記録を展開場所・・・ワークツリー
記録を指すポインタ・・・ブランチ
Git 入門

 単語を覚えたところで
  大きな更新の流れを
       抑えましょう
Git 入門

 コミット家系図
                                master
                                           next
e69de29    bf08792   sdfa9872    c6dasfa


                                             ブランチ
          コミットする
Git 入門

チェックアウトで好きなところに戻る
                               master      next
e69de29   bf08792   sdfa9872     c6dasfa




                       チェックアウト
Git 入門

 並行開発の為に分岐・・・フォーク
                                          master
e69de29   bf08792   sdfa9872   c6dasfa



                                         next
                               as2aer3
      フォーク           ti38e73
                                          2つ目のブランチ
Git 入門

 フォークを併合する・・・ マージ
                                                  master
e69de29   bf08792   sdfa9872   c6dasfa
                                         as3s7o


                                                   next

                     ti38e73   as2aer3
                                         2つ目のブランチ
Git 入門

コミットを重ねることで
 家系図を育てていく事を
   わかっていただけましたか?
次は、ワークツリー変更
  からコミットまでの流れです。
管理の仕組み
 Git 管理の仕組み
                    push(公開)
                    push(公開)      リポジトリ
         リポジトリ                     公開用)
                                  (公開用)
                       pull(更新)
                       pull(更新)
Commit         reset
         ステージ              checkout
    add        checkout
         ワークツリー
          A  B  C
いったんまとめ
 分散型の版管理システム
  記録と公開が分かれてる
  ネット接続なしでコミットできるよ
RubyistならGitがおすすめ
リポジトリ、コミット、ブランチ、
フォーク、マージ 等の意味
リポジトリ作成
リポジトリ作成
リポジトリの作り方
> cd test
test > git init
test(master) >

.git ディレクトリが作成される
     ディレクトリが作成
            作成される
これでGit 管理領域となった
      Gitの
これでGitの管理領域となった
リポジトリ作成 その2
リポジトリ作成 その2
リポジトリの作り方2
> cd test
test > git clone   http://github.com/
                        Minamirb/TeaParty.git
TeaParty(master) >

外部からリポジトリをコピー出来る
外部からリポジトリをコピー出来る
  からリポジトリをコピー出来
更新のイメージ練習
更新のイメージ練習
  のイメージ
 ファイルをステージに上げる
  test ディレクトリ

   A   B   C




test > git add A   test > git add .
ステージを知
ステージを知ろう
  ファイルをステージに上げる
   test ディレクトリ      test ディレクトリ

   B   C   ステージ            ステージ
           A               A  B   C




test > git add A   test > git add .
最初のコミットをしてみる
最初のコミットをしてみる
>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 C

3つのファイルが最初に記録された!!
 つのファイルが最初 記録された!!
        最初に  された
更新して差分をみよう
更新して差分をみよう
  して差分
>vi A (Aファイルを更新)
>git diff
diff --git a/A b/A
index e69de29..bf08792 100644
--- a/A
+++ b/A
@@ -0,0 +1 @@
+test update
前のコミットとワークディレクトリの
差分を
差分を表示
更新して差分をみよう
更新して差分をみよう
  して差分
>git add A
>git diff
ステージにあげると表示されない
ステージにあげると表示されない
         表示
>git diff HEAD
>git diff --cached
引数でいろいろな差分を れる!!
引数でいろいろな差分を見れる!!
  でいろいろな差分
現在の状態を
現在の状態を見る
>git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
#      modified: A
#


現在の状態をチェックできます。
現在の状態をチェックできます。
      をチェックできます
詳しくは省きます。
 しくは省きます。
記録したログを見
記録したログを見る
  したログを
>git log
commit cf6327718d7a5835b2ce4e35564965a25d623294
Author: tomoya ueda <to.ueda82@gmail.com>
Date: Sat Jan 22 23:26:28 2011 +0900

  initial



コミットの履歴が れます。
コミットの履歴が見れます。
     履歴
これも詳しくは省きます。
これも詳しくは省きます。
記録したログを見
記録したログを見る
  したログを
>gitk




GUIツールもあります。
GUIツールもあります。
   ツールもあります
履歴を うのは楽です。
履歴を追うのは楽です。
更新の
更新の流れ(まとめ)
      まとめ)
init リポジトリ作成
diff 前コミットからの差分表示
add ステージに上げる
status コミット内容を確認
log コミットの履歴を確認
gitk GUIツールも忘れずに

More Related Content

What's hot

バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフローadd20
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門dsuke Takaoka
 
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドコンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドktateish
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理Takafumi Yoshida
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例Hirohito Kato
 
新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)pupupopo88
 
プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」Yoshinori Yamanouchi
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンAkihiko Horiuchi
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
はじめようGit
はじめようGitはじめようGit
はじめようGittechscore
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能Kohei Tokunaga
 
図解gitworkflows(7)
図解gitworkflows(7)図解gitworkflows(7)
図解gitworkflows(7)ktateish
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?naoki koyama
 
社内Git勉強会向け資料
社内Git勉強会向け資料社内Git勉強会向け資料
社内Git勉強会向け資料Hiroki Saiki
 
データベース設計徹底指南
データベース設計徹底指南データベース設計徹底指南
データベース設計徹底指南Mikiya Okuno
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48Preferred Networks
 
SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南Kouji Matsui
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級Kouji Matsui
 

What's hot (20)

バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門
 
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンドコンセプトから理解するGitコマンド
コンセプトから理解するGitコマンド
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例
 
新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)新人Git/Github研修公開用スライド(その2)
新人Git/Github研修公開用スライド(その2)
 
プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
はじめようGit
はじめようGitはじめようGit
はじめようGit
 
Git (実践入門編)
Git (実践入門編)Git (実践入門編)
Git (実践入門編)
 
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
 
図解gitworkflows(7)
図解gitworkflows(7)図解gitworkflows(7)
図解gitworkflows(7)
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
 
社内Git勉強会向け資料
社内Git勉強会向け資料社内Git勉強会向け資料
社内Git勉強会向け資料
 
データベース設計徹底指南
データベース設計徹底指南データベース設計徹底指南
データベース設計徹底指南
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
 
SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級
 

Similar to 15分でわかるGit入門

Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Makoto Kawano
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルComputational Materials Science Initiative
 
Gitの便利ワザ
Gitの便利ワザGitの便利ワザ
Gitの便利ワザktateish
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座貴一 末田
 
Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回kinme modoki
 
Gitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめGitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめNatsumi Kashiwa
 
Git講習会
Git講習会Git講習会
Git講習会galluda
 
20120324 git training
20120324 git training20120324 git training
20120324 git trainingTakeshi AKIMA
 
実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る GitYouhei Nitta
 
ソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubToru Tamaki
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presenKouhei Maeda
 
底辺webプログラマが今更git語ってみた
底辺webプログラマが今更git語ってみた底辺webプログラマが今更git語ってみた
底辺webプログラマが今更git語ってみたYudai Fujita
 

Similar to 15分でわかるGit入門 (20)

Git地図
Git地図Git地図
Git地図
 
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアル
 
Gitの便利ワザ
Gitの便利ワザGitの便利ワザ
Gitの便利ワザ
 
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の紹介
 
Github第4章
Github第4章Github第4章
Github第4章
 
ゼミGit
ゼミGitゼミGit
ゼミGit
 
Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回Git勉強会 2016 Gitで卒論を管理しよう回
Git勉強会 2016 Gitで卒論を管理しよう回
 
Git勉強会
Git勉強会Git勉強会
Git勉強会
 
Gitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめGitとちょっと仲良くなるために覚えたことまとめ
Gitとちょっと仲良くなるために覚えたことまとめ
 
Git講習会
Git講習会Git講習会
Git講習会
 
20120324 git training
20120324 git training20120324 git training
20120324 git training
 
実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git実践 Git - 低レベルに知る Git
実践 Git - 低レベルに知る Git
 
Git 20100313
Git 20100313Git 20100313
Git 20100313
 
ソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHubソフトウェア工学2023 08 GitHub
ソフトウェア工学2023 08 GitHub
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presen
 
Git
GitGit
Git
 
底辺webプログラマが今更git語ってみた
底辺webプログラマが今更git語ってみた底辺webプログラマが今更git語ってみた
底辺webプログラマが今更git語ってみた
 

15分でわかるGit入門