SlideShare a Scribd company logo
1 of 15
git

      Koki Shimizu (@koki_jp)
SVN (集中型リポジトリ)の問題点

ローカル環境にあるのが最新のコードのみ
ネットワーク接続環境が前提
ブランチを気軽に作れない
(ご存知の通り)重い
git (分散型リポジトリ)の利点

ローカルのみで履歴を保持できる
ネットワーク接続環境は必須ではない
ローカルで気軽にブランチを作れる
非常に軽い
SVN                            git
                                         remote
           repository
                                        repository
Network                                pull/
      update           commit    clone fetch         push

               local                       master
                                         branch
                                                     merge
                                         /rebase

                                           branch
                  add           local-repository   add/delete
                  delete                           commit
branch を気軽に作れることのメリッ
ト
 通常開発開始。修正用に master から branch を作成する
 通常開発開始。修正用に master から branch を作成する
 。
                            master
                 branch

                 branch

                check out
branch を気軽に作れることのメリッ
ト
branch にコード修正。今回は修正範囲が広い。

                           master


              branch
              add/delete
              commit
branch を気軽に作れることのメリッ
ト急な割り込み案件発生。 branch には既にコード変更があ
りすぐに commit はできない。元のコードで修正したい
。
                        master


               branch
branch を気軽に作れることのメリッ
ト
割込案件用に x branch を作成。 check out 。

                           master
                                branch

                  branch            x branch

                                check out
branch を気軽に作れることのメリッ
ト
割込案件を commit 。 master に merge 。

                            master
                                            merge

                   branch            x branch
                                            add/delete
                                            commit
branch を気軽に作れることのメリッ
ト
 通常案件の修正を続けよう。不要だから x branch は削除
通常案件の修正を続けよう。不要だから x branch は削除
。
                         master


                branch            x branch

                    check out      branch -d
git におけるステージングの考え方

branch に対して、いきなり
commit ではない。                          merge
                               h                     r
add/delete/modify           n c                   ste
                         bra                  m
                                                a
準備が整ったものを明示的に                 commit
commit する。
状態確認は status
                    add/delete/modi
                    fy
git でよく使うコマンド(今まで登場したもの以
 外)
 config    git のオプションを設定する。
   log     コミット履歴を参照する。
   diff    マージ時に差分を見る。
 bisect    いつ問題のあるコミットが混入したか二分探索。
 reflog    commit の取り消しも含めて、ログ表示。
cherry-pick merge 時に、特定の commit のみマージ。(つまみ食い)
 archive   現状の branch を zip 等にアーカイブ。
   gc      branch の圧縮。

ほかにも様々なコマンド、オプションが存在する。
Web 上での、 git リポジトリ。
様々なプロジェクトが github 上で進行中。
     人気急上昇。一人勝ち?
github                              someone’s
                                      repository

                              folk                 pull request

github my repositories            remote
                                 repository
                                pull/
                          clone                push
 local                          fetch

                                     master
                                  branch
                                               merge
                                  /rebase

                                     branch
                         local-repository   add/delete
                                            commit
Let’s Social Coding ♥

More Related Content

Similar to Git(japanese)

git 初めの一歩
git 初めの一歩git 初めの一歩
git 初めの一歩Shin Yoshida
 
Gitを使ってみよう
Gitを使ってみようGitを使ってみよう
Gitを使ってみようTamotsu Furuya
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルComputational Materials Science Initiative
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!ymmt
 
分散バージョン管理システムGitの紹介
分散バージョン管理システムGitの紹介分散バージョン管理システムGitの紹介
分散バージョン管理システムGitの紹介tod esking
 
SvnからGitへの移行について
SvnからGitへの移行についてSvnからGitへの移行について
SvnからGitへの移行についてngi group.
 
今更だけど 「git rebase」の 使い方を覚えた話
今更だけど 「git rebase」の 使い方を覚えた話今更だけど 「git rebase」の 使い方を覚えた話
今更だけど 「git rebase」の 使い方を覚えた話iPride Co., Ltd.
 
Git introduction2
Git introduction2Git introduction2
Git introduction2Misa Kondo
 
バージョン管理システムチュートリアル
バージョン管理システムチュートリアルバージョン管理システムチュートリアル
バージョン管理システムチュートリアルRyo Igarashi
 
Git with Visual Studio
Git with Visual StudioGit with Visual Studio
Git with Visual StudioTomohiro Namba
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座Yusei Yamanaka
 
リモート先へログインする時環境あるある
リモート先へログインする時環境あるあるリモート先へログインする時環境あるある
リモート先へログインする時環境あるあるRyota Sakamoto
 
Git 入門
Git 入門Git 入門
Git 入門y-uti
 
githubハンズオン
githubハンズオンgithubハンズオン
githubハンズオンAyaka Ueda
 

Similar to Git(japanese) (20)

Git overview (v 0.96)
Git overview (v 0.96)Git overview (v 0.96)
Git overview (v 0.96)
 
git 初めの一歩
git 初めの一歩git 初めの一歩
git 初めの一歩
 
Gitを使ってみよう
Gitを使ってみようGitを使ってみよう
Gitを使ってみよう
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアル
 
Git (実践入門編)
Git (実践入門編)Git (実践入門編)
Git (実践入門編)
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
分散バージョン管理システムGitの紹介
分散バージョン管理システムGitの紹介分散バージョン管理システムGitの紹介
分散バージョン管理システムGitの紹介
 
SvnからGitへの移行について
SvnからGitへの移行についてSvnからGitへの移行について
SvnからGitへの移行について
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
Gitを使った運用方法
Gitを使った運用方法Gitを使った運用方法
Gitを使った運用方法
 
今更だけど 「git rebase」の 使い方を覚えた話
今更だけど 「git rebase」の 使い方を覚えた話今更だけど 「git rebase」の 使い方を覚えた話
今更だけど 「git rebase」の 使い方を覚えた話
 
Git Workshop 20130720
Git Workshop 20130720Git Workshop 20130720
Git Workshop 20130720
 
Git introduction2
Git introduction2Git introduction2
Git introduction2
 
Git/GitHub
Git/GitHubGit/GitHub
Git/GitHub
 
バージョン管理システムチュートリアル
バージョン管理システムチュートリアルバージョン管理システムチュートリアル
バージョン管理システムチュートリアル
 
Git with Visual Studio
Git with Visual StudioGit with Visual Studio
Git with Visual Studio
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座
 
リモート先へログインする時環境あるある
リモート先へログインする時環境あるあるリモート先へログインする時環境あるある
リモート先へログインする時環境あるある
 
Git 入門
Git 入門Git 入門
Git 入門
 
githubハンズオン
githubハンズオンgithubハンズオン
githubハンズオン
 

Git(japanese)