SlideShare a Scribd company logo
Git入門



12年4月17日火曜日
自己紹介
              • 氏名:加門昭平
               • @cameong
               • id: kmn23



12年4月17日火曜日
目標
              • Gitのフローを把握する
              • 一人でGitで遊べるようになる




12年4月17日火曜日
さてGit入門
              • Gitとは
               •   プログラムなどのソースコード管理を行う分散型バージョン管理
                   システム。動作速度に重点が置かれている。

               •   Gitではワーキングディレクトリがレポジトリのすべての履歴を含
                   んでいるため中央サーバーへのアクセス不可能な状態でもリビ
                   ジョン間の履歴を調査することができる.
                   (引用http://ja.wikipedia.org/wiki/Git)




12年4月17日火曜日
バージョン管理システムいろいろ

         • 個別バージョン管理システム
              •   ファイル単位で個別システムでバージョン管理を行う
              •   例: RCS


         • 集中型バージョン管理システム
              • レポジトリをサーバーで一元管理し、コミットなどの操作はクライ
                アントから行う( サーバー・クライアント型 )
              • 例:Subversion, CVS
         •     分散型バージョン管理システム
              • レポジトリをクライアントでも管理する。このクライアント間で
                レポジトリを連携できる。
              • 例: Git, Mercurial,BitKeeper, Bazaar

12年4月17日火曜日
Subversionの場合
    •   通常、サーバー・クライアント                  コミット
        型の構成を取る。
                             SNVサーバー                  PC
    •   リポジトリはサーバー上に格納                   コミット    アップデート

        されている。                   コミット
                                                      ユーザ
    •   リポジトリに対する操作はクラ
        イアント( PC )から行うが、ネッ
        トワーク的に繋がっていないと              アップデート
                                                PC
        いけない。           アップデート

    •   コミット情報は連番で管理
                              PC                ユーザ
    •   ファイルは差分管理

                              ユーザ



12年4月17日火曜日
Gitの場合
                                                                    add /commit
 •    レポジトリをサーバー上だけでは                            Push

      なく、クライアント(CP)にも       リモート                                      PC
      作成する。                 リポジトリ                    Push    Pull / clone

 •    コミットの差分や履歴はPC上の                Push
                                                                      ユーザ
      リポジトリを参照するため、サー
      バーに接続していなくても大丈                                             add /commit
                                            Pull / clone
      夫。                                                    PC
 •    コミット情報はハッシュ値で管理 / clone
                     Pull
                                      add /commit
 •    ファイルをそのまま保持している           PC                          ユーザ




12年4月17日火曜日
Gitの基本的な用語
              • リポジトリ
                •    バージョン管理システムにおいて、プログラムやファイルを蓄積しておく場所

              • ローカルリポジトリ
                  • 現在作業中のリポジトリ
                  • git add やgit commit の対象となるリポジトリ
              •    リモートリポジトリ
                  • ローカルリポジトリに対して、外部にあるリポジトリ
                  • git clone やgit pull,git push の対象となるリポジトリ
              •    ワーキングツリー
                  • ユーザが作業する場所
                  • Gitにおいては、ローカルレポジトリの. gitディレクトリがある場所
              •    コミット
                  • ファイルの変更をローカルリポジトリに反映すること




12年4月17日火曜日
Gitの基本的なワークフロー


    1. リポジトリの作成                リポジトリの作成

    2. ファイルの作成と編集
    3. インデックスへの登録
                           ファイルの新規作成と編集
    4. リポジトリへのコミット


                  インデックスへの登録

                                      コミット




12年4月17日火曜日
リポジトリの作成

    git init : リポジトリを作成する           リポジトリの作成

    ホームディレクトリ直下にリポジトリsampleを作成する
                                           git init
    $ mkdir sample
    $ cd sample                      ファイルの新規作成と編集

    $ git init
    Initialized empty Git repository
      in ~/sample/.git/ インデックスへの登録
    $ ls -a                                    コミット
    .        ←ワーキングツリー
    .git  ←ローカルリポジトリ
12年4月17日火曜日
ファイルの新規作成と編集

    git status: 状態を確認する                                          リポジトリの作成


    先ほどのリポジトリにファイルを新規作成してみます                                                  git init
    $ ls
                                                            ファイルの新規作成と編集
    sample_bashrc
    $ git status
    # On branch master
    #
    # Initial commit
    #                                  インデックスへの登録
    # Untracked files:
    # (use "git add <file>..." to include in what will be committed)               コミット
    #
    #	

 sample_bashrc
    nothing added to commit but untracked files present (use "git add" to track)
12年4月17日火曜日
インデックスへの登録


    git add : インデックスに登録する                           リポジトリの作成

    先ほどのファイルをインデックスに登録する
                                                              git init
    $ git add sample                           ファイルの新規作成と編集
    $ git status
    # On branch master
    #
    # Initial commit
    #
                                       インデックスへの登録
    # Changes to be committed:
    # (use "git rm --cached <file>..." to unstage)
                                                                 コミット
    #
    #	

 new file: sample_bashrc
    #
                                                    git add

12年4月17日火曜日
コミット
    git commit : ローカルレポジトリにインデックスに登録
         された変更を反映する
    git log : git commit の履歴をみる                              リポジトリの作成

    $ git commit -m “Tis is the first commit”
    [master (root-commit) 619d683] Tis is the first commit              git init
     0 files changed, 0 insertions(+), 0 deletions(-)
     create mode 100644 sample_bashrc
                                                            ファイルの新規作成と編集
    $ git status
    # On branch master
    nothing to commit (working directory clean)                         git commit
                                     インデックスへの登録
    $ git log
    commit 619d6838d6c48cfe856fd560abed16fb97aa12e8                       コミット
    Author: kamon_shohei <kamonshohei@gmail.com>
    Date: Mon Apr 16 01:05:17 2012 +0900                     git add
      Tis is the first commit
12年4月17日火曜日
タイポしちまったとき
 ウワァァァァァァヽ(`Д´)ノァァァァァァン!
              $ git log
              commit 619d6838d6c48cfe856fd560abed16fb97aa12e8
              Author: kamon_shohei <kamonshohei@gmail.com>
              Date: Mon Apr 16 01:05:17 2012 +0900


                Tis is the first commit           




12年4月17日火曜日
git commit --amend
git commit --amend : 直前のコミットメッセージを変更する

$ git commit --amend
 1 Tis is the first commit  ← この行を編集する
 2
 3 # Please enter the commit message for your changes. Lines starting
 4 # with '#' will be ignored, and an empty message aborts the commit.
 5 # On branch master
 6#
 7 # Initial commit
 8#
 ...


$ git log
...
This is the first commit
...

          修正された
12年4月17日火曜日
Gitの基本的なワークフロー
                   (まとめ)
    1. リポジトリの作成                リポジトリの作成

    2. ファイルの作成と編集
                                         git init
    3. インデックスへの登録
                              ファイルの新規作成と編集
    4. リポジトリへのコミット
                          -
                                          git commit
                  インデックスへの登録

                                            コミット
  インデックスの確認:git status         git add
  コミットログの確認:git log
12年4月17日火曜日
gitのインストール方法
              •   Windows
                  •   Cygwin / MinGW / TortioseGit
              •   Mac
                  •   port install git-core
                  •   brew install git
              •   Gnu Linux
                  •   yum install git-core
                  •   apt-get install git-core


12年4月17日火曜日
参考文献
      • Gitによるバージョン管理
          岩松 信洋 (著), 上川 純一 (著), まえだこうへい (著), 小川 伸一郎 (著)




12年4月17日火曜日
ご清聴ありがとうございました




12年4月17日火曜日

More Related Content

What's hot

Git-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rbGit-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rb
Jun Fukaya
 
Gitの使い方あれこれ
Gitの使い方あれこれGitの使い方あれこれ
Gitの使い方あれこれ
よしだ あつし
 
バッチリネーマーの制作
バッチリネーマーの制作バッチリネーマーの制作
バッチリネーマーの制作
eighttails
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門
to_ueda
 
Git リモートへの道
Git リモートへの道Git リモートへの道
Git リモートへの道
Koudai Takahasi
 
Ruby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇RubyRuby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇Ruby
Youhei SASAKI
 
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
YASUKAZU NAGATOMI
 
Git 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwell
sinsoku listy
 
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話shigeki_ohtsu
 
GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話
Sota Sugiura
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料
Kenji Takei
 
Scala勉強会
Scala勉強会Scala勉強会
Scala勉強会
Kazuaki Shibue
 
コンテナ情報交換会2
コンテナ情報交換会2コンテナ情報交換会2
コンテナ情報交換会2
Masahide Yamamoto
 
Linuxにおけるコマンドとエディタの使用方法の紹介
Linuxにおけるコマンドとエディタの使用方法の紹介Linuxにおけるコマンドとエディタの使用方法の紹介
Linuxにおけるコマンドとエディタの使用方法の紹介
ADVENTURE Project
 
Freebsd ports と暮らす(5) 2012年を振り返る
Freebsd ports と暮らす(5) 2012年を振り返るFreebsd ports と暮らす(5) 2012年を振り返る
Freebsd ports と暮らす(5) 2012年を振り返る
Hirohisa Yamaguchi
 
httpbis interim@シアトル レポート (第2回HTTP/2.0接続試験)
httpbis interim@シアトル レポート(第2回HTTP/2.0接続試験)httpbis interim@シアトル レポート(第2回HTTP/2.0接続試験)
httpbis interim@シアトル レポート (第2回HTTP/2.0接続試験)shigeki_ohtsu
 
Pd Kai#3 Startup Process
Pd Kai#3 Startup ProcessPd Kai#3 Startup Process
Pd Kai#3 Startup Process
nagachika t
 
Redisととあるシステム
RedisととあるシステムRedisととあるシステム
RedisととあるシステムTakehiro Torigaki
 
FreeBSD ports と暮らす(2): port 作成編
FreeBSD ports と暮らす(2): port 作成編FreeBSD ports と暮らす(2): port 作成編
FreeBSD ports と暮らす(2): port 作成編
Hirohisa Yamaguchi
 

What's hot (20)

Git-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rbGit-dojo In Sendagaya.rb
Git-dojo In Sendagaya.rb
 
Gitの使い方あれこれ
Gitの使い方あれこれGitの使い方あれこれ
Gitの使い方あれこれ
 
バッチリネーマーの制作
バッチリネーマーの制作バッチリネーマーの制作
バッチリネーマーの制作
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門
 
Git リモートへの道
Git リモートへの道Git リモートへの道
Git リモートへの道
 
Ruby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇RubyRuby in Wheezy @ 関西闇Ruby
Ruby in Wheezy @ 関西闇Ruby
 
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
オンプレ&HTTP Proxyな環境でRancherOS入れてみた話
 
Git 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwell
 
httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話httpbis interim とhttp2.0相互接続試験の話
httpbis interim とhttp2.0相互接続試験の話
 
GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話GitHubにおける開発フローについてのお話
GitHubにおける開発フローについてのお話
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料
 
Bitbucket and git
Bitbucket and gitBitbucket and git
Bitbucket and git
 
Scala勉強会
Scala勉強会Scala勉強会
Scala勉強会
 
コンテナ情報交換会2
コンテナ情報交換会2コンテナ情報交換会2
コンテナ情報交換会2
 
Linuxにおけるコマンドとエディタの使用方法の紹介
Linuxにおけるコマンドとエディタの使用方法の紹介Linuxにおけるコマンドとエディタの使用方法の紹介
Linuxにおけるコマンドとエディタの使用方法の紹介
 
Freebsd ports と暮らす(5) 2012年を振り返る
Freebsd ports と暮らす(5) 2012年を振り返るFreebsd ports と暮らす(5) 2012年を振り返る
Freebsd ports と暮らす(5) 2012年を振り返る
 
httpbis interim@シアトル レポート (第2回HTTP/2.0接続試験)
httpbis interim@シアトル レポート(第2回HTTP/2.0接続試験)httpbis interim@シアトル レポート(第2回HTTP/2.0接続試験)
httpbis interim@シアトル レポート (第2回HTTP/2.0接続試験)
 
Pd Kai#3 Startup Process
Pd Kai#3 Startup ProcessPd Kai#3 Startup Process
Pd Kai#3 Startup Process
 
Redisととあるシステム
RedisととあるシステムRedisととあるシステム
Redisととあるシステム
 
FreeBSD ports と暮らす(2): port 作成編
FreeBSD ports と暮らす(2): port 作成編FreeBSD ports と暮らす(2): port 作成編
FreeBSD ports と暮らす(2): port 作成編
 

Viewers also liked

林書豪教給我們的10堂課 (n)
林書豪教給我們的10堂課 (n)林書豪教給我們的10堂課 (n)
林書豪教給我們的10堂課 (n)蓁 蓁
 
добро и зло таушкановой и вахрушевой к уральский
добро и зло таушкановой и вахрушевой к уральскийдобро и зло таушкановой и вахрушевой к уральский
добро и зло таушкановой и вахрушевой к уральскийDrofaUral
 
Pagina webcristian garcia
Pagina webcristian garciaPagina webcristian garcia
Pagina webcristian garciaryuzakigarcia
 
Horizon
HorizonHorizon
Taller De Sql
Taller De SqlTaller De Sql
Taller De Sql
juliangalvez
 

Viewers also liked (7)

林書豪教給我們的10堂課 (n)
林書豪教給我們的10堂課 (n)林書豪教給我們的10堂課 (n)
林書豪教給我們的10堂課 (n)
 
добро и зло таушкановой и вахрушевой к уральский
добро и зло таушкановой и вахрушевой к уральскийдобро и зло таушкановой и вахрушевой к уральский
добро и зло таушкановой и вахрушевой к уральский
 
Pagina webcristian garcia
Pagina webcristian garciaPagina webcristian garcia
Pagina webcristian garcia
 
Horizon
HorizonHorizon
Horizon
 
Tracy wayne mitchell
Tracy wayne mitchellTracy wayne mitchell
Tracy wayne mitchell
 
Stand junior fej (1)
Stand junior fej (1)Stand junior fej (1)
Stand junior fej (1)
 
Taller De Sql
Taller De SqlTaller De Sql
Taller De Sql
 

Similar to Git for beginners

今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
VirtualTech Japan Inc./Begi.net Inc.
 
今さら聞けない人のためのGit超入門
今さら聞けない人のためのGit超入門今さら聞けない人のためのGit超入門
今さら聞けない人のためのGit超入門
VirtualTech Japan Inc./Begi.net Inc.
 
第1回Git勉強会
第1回Git勉強会第1回Git勉強会
第1回Git勉強会kunimiya
 
今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版
VirtualTech Japan Inc./Begi.net Inc.
 
Gitpractice2
Gitpractice2Gitpractice2
Gitpractice2
mmm110
 
今さら聞けない人のためのGit超入門 OSC2018広島版
今さら聞けない人のためのGit超入門 OSC2018広島版今さら聞けない人のためのGit超入門 OSC2018広島版
今さら聞けない人のためのGit超入門 OSC2018広島版
VirtualTech Japan Inc./Begi.net Inc.
 
今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門
VirtualTech Japan Inc./Begi.net Inc.
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアル
Computational Materials Science Initiative
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用賢次 海老原
 
gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編
Sanae Yamashita
 
今さら聞けない人のためのGit超入門 2019/11/21
今さら聞けない人のためのGit超入門 2019/11/21今さら聞けない人のためのGit超入門 2019/11/21
今さら聞けない人のためのGit超入門 2019/11/21
VirtualTech Japan Inc./Begi.net Inc.
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
 
GitHubワークショップ
GitHubワークショップGitHubワークショップ
GitHubワークショップ
Hiroaki Murayama
 
Git 勉強会
Git 勉強会Git 勉強会
Git 勉強会
kinme modoki
 
今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門
VirtualTech Japan Inc./Begi.net Inc.
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門Takashi Imagire
 
今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門
VirtualTech Japan Inc./Begi.net Inc.
 
Gitの紹介
Gitの紹介Gitの紹介
Gitの紹介
Shoot Morii
 

Similar to Git for beginners (20)

Git
GitGit
Git
 
今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
 
今さら聞けない人のためのGit超入門
今さら聞けない人のためのGit超入門今さら聞けない人のためのGit超入門
今さら聞けない人のためのGit超入門
 
第1回Git勉強会
第1回Git勉強会第1回Git勉強会
第1回Git勉強会
 
今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版今さら聞けない人のためのGit超入門 GitLab 14対応版
今さら聞けない人のためのGit超入門 GitLab 14対応版
 
Gitpractice2
Gitpractice2Gitpractice2
Gitpractice2
 
今さら聞けない人のためのGit超入門 OSC2018広島版
今さら聞けない人のためのGit超入門 OSC2018広島版今さら聞けない人のためのGit超入門 OSC2018広島版
今さら聞けない人のためのGit超入門 OSC2018広島版
 
今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門
 
Git overview (v 0.96)
Git overview (v 0.96)Git overview (v 0.96)
Git overview (v 0.96)
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアル
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用
 
gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編
 
今さら聞けない人のためのGit超入門 2019/11/21
今さら聞けない人のためのGit超入門 2019/11/21今さら聞けない人のためのGit超入門 2019/11/21
今さら聞けない人のためのGit超入門 2019/11/21
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
GitHubワークショップ
GitHubワークショップGitHubワークショップ
GitHubワークショップ
 
Git 勉強会
Git 勉強会Git 勉強会
Git 勉強会
 
今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門今さら聞けない人のためのgit超入門
今さら聞けない人のためのgit超入門
 
Gitの紹介
Gitの紹介Gitの紹介
Gitの紹介
 

Recently uploaded

論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 

Recently uploaded (16)

論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 

Git for beginners

  • 2. 自己紹介 • 氏名:加門昭平 • @cameong • id: kmn23 12年4月17日火曜日
  • 3. 目標 • Gitのフローを把握する • 一人でGitで遊べるようになる 12年4月17日火曜日
  • 4. さてGit入門 • Gitとは • プログラムなどのソースコード管理を行う分散型バージョン管理 システム。動作速度に重点が置かれている。 • Gitではワーキングディレクトリがレポジトリのすべての履歴を含 んでいるため中央サーバーへのアクセス不可能な状態でもリビ ジョン間の履歴を調査することができる. (引用http://ja.wikipedia.org/wiki/Git) 12年4月17日火曜日
  • 5. バージョン管理システムいろいろ • 個別バージョン管理システム • ファイル単位で個別システムでバージョン管理を行う • 例: RCS • 集中型バージョン管理システム • レポジトリをサーバーで一元管理し、コミットなどの操作はクライ アントから行う( サーバー・クライアント型 ) • 例:Subversion, CVS • 分散型バージョン管理システム • レポジトリをクライアントでも管理する。このクライアント間で レポジトリを連携できる。 • 例: Git, Mercurial,BitKeeper, Bazaar 12年4月17日火曜日
  • 6. Subversionの場合 • 通常、サーバー・クライアント コミット 型の構成を取る。 SNVサーバー PC • リポジトリはサーバー上に格納 コミット アップデート されている。 コミット ユーザ • リポジトリに対する操作はクラ イアント( PC )から行うが、ネッ トワーク的に繋がっていないと アップデート PC いけない。 アップデート • コミット情報は連番で管理 PC ユーザ • ファイルは差分管理 ユーザ 12年4月17日火曜日
  • 7. Gitの場合 add /commit • レポジトリをサーバー上だけでは Push なく、クライアント(CP)にも リモート PC 作成する。 リポジトリ Push Pull / clone • コミットの差分や履歴はPC上の Push ユーザ リポジトリを参照するため、サー バーに接続していなくても大丈 add /commit Pull / clone 夫。 PC • コミット情報はハッシュ値で管理 / clone Pull add /commit • ファイルをそのまま保持している PC ユーザ 12年4月17日火曜日
  • 8. Gitの基本的な用語 • リポジトリ • バージョン管理システムにおいて、プログラムやファイルを蓄積しておく場所 • ローカルリポジトリ • 現在作業中のリポジトリ • git add やgit commit の対象となるリポジトリ • リモートリポジトリ • ローカルリポジトリに対して、外部にあるリポジトリ • git clone やgit pull,git push の対象となるリポジトリ • ワーキングツリー • ユーザが作業する場所 • Gitにおいては、ローカルレポジトリの. gitディレクトリがある場所 • コミット • ファイルの変更をローカルリポジトリに反映すること 12年4月17日火曜日
  • 9. Gitの基本的なワークフロー 1. リポジトリの作成 リポジトリの作成 2. ファイルの作成と編集 3. インデックスへの登録 ファイルの新規作成と編集 4. リポジトリへのコミット インデックスへの登録 コミット 12年4月17日火曜日
  • 10. リポジトリの作成 git init : リポジトリを作成する リポジトリの作成 ホームディレクトリ直下にリポジトリsampleを作成する git init $ mkdir sample $ cd sample ファイルの新規作成と編集 $ git init Initialized empty Git repository in ~/sample/.git/ インデックスへの登録 $ ls -a コミット . ←ワーキングツリー .git  ←ローカルリポジトリ 12年4月17日火曜日
  • 11. ファイルの新規作成と編集 git status: 状態を確認する リポジトリの作成 先ほどのリポジトリにファイルを新規作成してみます git init $ ls ファイルの新規作成と編集 sample_bashrc $ git status # On branch master # # Initial commit # インデックスへの登録 # Untracked files: # (use "git add <file>..." to include in what will be committed) コミット # # sample_bashrc nothing added to commit but untracked files present (use "git add" to track) 12年4月17日火曜日
  • 12. インデックスへの登録 git add : インデックスに登録する リポジトリの作成 先ほどのファイルをインデックスに登録する git init $ git add sample ファイルの新規作成と編集 $ git status # On branch master # # Initial commit # インデックスへの登録 # Changes to be committed: # (use "git rm --cached <file>..." to unstage) コミット # # new file: sample_bashrc # git add 12年4月17日火曜日
  • 13. コミット git commit : ローカルレポジトリにインデックスに登録      された変更を反映する git log : git commit の履歴をみる リポジトリの作成 $ git commit -m “Tis is the first commit” [master (root-commit) 619d683] Tis is the first commit git init 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 sample_bashrc ファイルの新規作成と編集 $ git status # On branch master nothing to commit (working directory clean) git commit インデックスへの登録 $ git log commit 619d6838d6c48cfe856fd560abed16fb97aa12e8 コミット Author: kamon_shohei <kamonshohei@gmail.com> Date: Mon Apr 16 01:05:17 2012 +0900 git add Tis is the first commit 12年4月17日火曜日
  • 14. タイポしちまったとき ウワァァァァァァヽ(`Д´)ノァァァァァァン! $ git log commit 619d6838d6c48cfe856fd560abed16fb97aa12e8 Author: kamon_shohei <kamonshohei@gmail.com> Date: Mon Apr 16 01:05:17 2012 +0900 Tis is the first commit            12年4月17日火曜日
  • 15. git commit --amend git commit --amend : 直前のコミットメッセージを変更する $ git commit --amend 1 Tis is the first commit  ← この行を編集する 2 3 # Please enter the commit message for your changes. Lines starting 4 # with '#' will be ignored, and an empty message aborts the commit. 5 # On branch master 6# 7 # Initial commit 8# ... $ git log ... This is the first commit ... 修正された 12年4月17日火曜日
  • 16. Gitの基本的なワークフロー (まとめ) 1. リポジトリの作成 リポジトリの作成 2. ファイルの作成と編集 git init 3. インデックスへの登録 ファイルの新規作成と編集 4. リポジトリへのコミット - git commit インデックスへの登録 コミット インデックスの確認:git status git add コミットログの確認:git log 12年4月17日火曜日
  • 17. gitのインストール方法 • Windows • Cygwin / MinGW / TortioseGit • Mac • port install git-core • brew install git • Gnu Linux • yum install git-core • apt-get install git-core 12年4月17日火曜日
  • 18. 参考文献 • Gitによるバージョン管理 岩松 信洋 (著), 上川 純一 (著), まえだこうへい (著), 小川 伸一郎 (著) 12年4月17日火曜日