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

いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0Masakazu Matsushita
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーSaeko Yamamoto
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例Hirohito Kato
 
新たな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
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフローadd20
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理H2O Space. Co., Ltd.
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来についてshinjiigarashi
 
プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」Yoshinori Yamanouchi
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜Takashi Uemura
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
Gitの便利ワザ
Gitの便利ワザGitの便利ワザ
Gitの便利ワザktateish
 
Gitを使ってみよう
Gitを使ってみようGitを使ってみよう
Gitを使ってみようTamotsu Furuya
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメYoji Kanno
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンAkihiko Horiuchi
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 

What's hot (20)

いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダー
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git 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 Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
 
プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
Gitの便利ワザ
Gitの便利ワザGitの便利ワザ
Gitの便利ワザ
 
Gitを使ってみよう
Gitを使ってみようGitを使ってみよう
Gitを使ってみよう
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
Jenkins 再入門
Jenkins 再入門Jenkins 再入門
Jenkins 再入門
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
Marp入門
Marp入門Marp入門
Marp入門
 

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
 
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
 
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料mihararyosuke
 

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 勉強会
 
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語ってみた
 
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
 

15分でわかるGit入門