SlideShare a Scribd company logo
1 of 169
Git
Social Coding System
                   	 Social

              	 / josephj
   joseph_chiang@miiicasa.com
Git
Git	 



1. CVS
Git	 



1. CVS
2. Perforce
Git	 



1. CVS
2. Perforce
3. SVN
Client-Server
Client-Server


      miiiCasa
        Repo.
Client-Server


                    miiiCasa
                      Repo.
Joseph          t
         checkou
Client-Server


                              miiiCasa
                                Repo.
Joseph             t
            checkou      ut
                       ko
                    ec
                  ch




         Hunter
Client-Server


                              miiiCasa
                                Repo.
Joseph             t
            checkou


                                         ch
                                           ec
                                                ko
                         ut
                       ko




                                                  ut
                    ec
                  ch




                                                       Richard
         Hunter
Client-Server


                              miiiCasa
                                Repo.
Joseph             t                               chec
            checkou                                       kout       Kevin


                                         ch
                                           ec
                                                ko
                         ut
                       ko




                                                  ut
                    ec
                  ch




                                                           Richard
         Hunter
Client-Server


                              miiiCasa
           commit               Repo.
Joseph             t                               chec
            checkou                                       kout       Kevin


                                         ch
                                           ec
                                                ko
                         ut
                       ko




                                                  ut
                    ec
                  ch




                                                           Richard
         Hunter
Client-Server


                                  miiiCasa
           commit                   Repo.
Joseph             t                                   chec
            checkou                                           kout       Kevin


                                             ch
                             it
                            m




                                               ec
                          m




                                                    ko
                         ut
                        co


                       ko




                                                      ut
                    ec
                  ch




                                                               Richard
         Hunter
Client-Server


                                  miiiCasa
           commit                   Repo.
Joseph             t                                chec
            checkou                                          kout       Kevin
                                                   co
                                             ch      m
                             it



                                                       m
                            m




                                               ec       it
                          m




                                                  ko
                         ut
                        co


                       ko




                                                    ut
                    ec
                  ch




                                                              Richard
         Hunter
Client-Server


                                  miiiCasa
           commit                   Repo.
                                                       com
                                                          mit
Joseph             t                                chec
            checkou                                          kout       Kevin
                                                   co
                                             ch      m
                             it



                                                       m
                            m




                                               ec       it
                          m




                                                  ko
                         ut
                        co


                       ko




                                                    ut
                    ec
                  ch




                                                              Richard
         Hunter
Client-Server


                                  miiiCasa
           commit                   Repo.
                                                       com
                                                          mit
Joseph             t                                chec
            checkou                                          kout       Kevin
                                                   co
                                             ch      m
                             it



                                                       m
                            m




                                               ec       it
                          m




                                                  ko
                         ut
                        co


                       ko




                                                    ut
                    ec
                  ch




                                                              Richard
         Hunter
Client-Server

                            	 FTP	 
                                  miiiCasa
           commit
                   	 checkout	 
                         Repo.
                                                       com
                                                          mit
Joseph             t                                chec
            checkou                                          kout       Kevin
                     	 commit	                     co
                                                     m
                                             ch
                             it



                                                       m
                            m




                                               ec       it
                          m




                                                  ko
                         ut
                        co


                       ko




                                                    ut
                    ec
                  ch




                                                              Richard
         Hunter
Client-Server


                                  miiiCasa
           commit                   Repo.
                                                           com
                                                              mit
Joseph             t                                   chec
            checkou                                           kout
                         Web 1.0 ? co                                    Kevin


                                             ch        m
                             it



                                                        m
                            m




                                               ec        it
                          m




                                                    ko
                         ut
                        co


                       ko




                                                      ut
                    ec
                  ch




                                                               Richard
         Hunter
Client-Server

     Client-Server	 
                                  miiiCasa
           commit                    Server	 commit
                                    Repo.
Joseph             t                                chec
            checkou                                          kout       Kevin
            	 Server	                              co
                                                     m
                                             ch
                             it



                                                       m
                            m




                                               ec       it
                          m




                                                  ko
                         ut
                        co


                       ko




                                                    ut
                    ec
                  ch




                                                              Richard
         Hunter
P2P	 
	 Server                    	 Client	 




  http://www.flickr.com/photos/rocketraccoon/227241974/
Linus Torvalds                                         Linux
      Linux                                                             85.6
                                                      2.6.24                         7



                                                                                 Core Team
                                                                                 Linux Kernal

                                                    2005               Git



                                                               form jserv        Git
http://www.flickr.com/photos/theducks/2236111019/
                                                     http://www.slideshare.net/tim518/loving-git2
CVS        SVN
    Linus Torvalds
      Linux                                         Subversion has been the
                                                    most pointless project ever started.

                                                    Subversion used to say CVS done right...
                                                    There is no way to do CVS right.

                                                    If you like using CVS,
                                                    you should be in some kind of
                                                    mental institution or somewhere else.


http://www.flickr.com/photos/theducks/2236111019/
                                                        CVS
                                                        SVN
CVS        SVN
    Linus Torvalds
      Linux                                         Subversion has been the
                                                    most pointless project ever started.


                 SVN                                Subversion used to say CVS done right...
                                                    There is no way to do CVS right.

                 Git                                If you like using CVS,
                                                    you should be in some kind of
                                                    mental institution or somewhere else.


http://www.flickr.com/photos/theducks/2236111019/
                                                        CVS
                                                        SVN
Git          P2P
       Peer-To-Peer




 git clone            Repo
Repo                         clone
Git                           P2P
                         Peer-To-Peer

                miiiCasa



                                    git clone
Richard
                        git clone

          git clone
                                                         git clone
                                                Joseph               Hunter


                      Kevin




           git clone                                     Repo
          Repo                                                            clone
Git                           P2P
                         Peer-To-Peer

                miiiCasa
                              Repo

Richard
                                        Git
                                    git clone

                        git clone

          git clone
                                                         git clone
                                                Joseph               Hunter


                      Kevin




           git clone                                     Repo
          Repo                                                            clone
git commit
miiiCasa

                     Repository



            Joseph


                                  Hunter




   Kevin
git commit
miiiCasa

                         Repository



                Joseph

           vim foo.txt
                                      Hunter




   Kevin
git commit
miiiCasa

                             Repository



                 Joseph

           vim foo.txt
           git add foo.txt                Hunter




   Kevin
git commit
miiiCasa

                             Repository



                 Joseph

           vim foo.txt
           git add foo.txt                Hunter
           git commit -m “typo
           correct”


   Kevin
git commit
miiiCasa

                             Repository

                             Commit



                 Joseph

           vim foo.txt
           git add foo.txt                Hunter
           git commit -m “typo
           correct”


   Kevin
git commit
miiiCasa

                                Repository

                                Commit



                    Joseph

              vim foo.txt
              git add foo.txt                Hunter
              git commit -m “typo
              correct”


   Kevin




 git commit   Repo                             Repo
git commit
miiiCasa

                                   Repository

                                   Commit



                       Joseph

                 vim foo.txt
                 git add foo.txt                           Hunter
                 git commit -m “typo
                 correct”


   Kevin




 git commit      Repo                                        Repo
           SVN              =>              Commit (SVK)
git pull
miiiCasa
           Origin Repo




                   Joseph
                              Hunter




  Kevin
git pull
miiiCasa
           Origin Repo




                   Joseph
                              Hunter
                   git pull




  Kevin
git pull
miiiCasa
              Origin Repo


           git pull




                      Joseph
                                 Hunter
                      git pull




  Kevin
git pull
miiiCasa
              Origin Repo

                                            +
                                 miiiCasa
           git pull




                      Joseph
                                                Hunter
                      git pull




  Kevin
git pull
miiiCasa
                   Origin Repo

                                                 +
                                      miiiCasa
                git pull




                           Joseph
                                                        Hunter
                           git pull




  Kevin




           git pull                   Repository     merge
git pull
miiiCasa
                   Origin Repo

                                                   +
                                        miiiCasa
                git pull




                             Joseph
                                                          Hunter
                             git pull




  Kevin




           git pull                     Repository     merge
              svn checkout
git pull <remote> <branch>
            miiiCasa
                                          Repo

                                   git clone



                   git clone


git clone
                                               Joseph   git clone
                                                                    Hunter




               Kevin
git pull <remote> <branch>
            miiiCasa
                                          Repo

                                   git clone



                   git clone


git clone
                                                    Joseph             git clone
                                                                                   Hunter
                                               git pull Kevin master




               Kevin
git pull <remote> <branch>
            miiiCasa
                                                       Repo

                                            git clone



                   git clone


git clone
                                                             Joseph             git clone
                                                                                            Hunter
                                                        git pull Kevin master



                               git pull Kevin master
               Kevin
git pull <remote> <branch>
            miiiCasa
                                                       Repo

                                            git clone
                                                                                                    +
                                                                          miiiCasa             +
                                                                                Kevin
                   git clone


git clone
                                                             Joseph                     git clone
                                                                                                        Hunter
                                                        git pull Kevin master



                               git pull Kevin master
               Kevin
git pull <remote> <branch>
            miiiCasa
                                                       Repo

                                            git clone
                                                                                                    +
                                                                          miiiCasa             +
                                                                                Kevin
                   git clone


git clone
                                                             Joseph                     git clone
                                                                                                        Hunter
                                                        git pull Kevin master



                               git pull Kevin master
               Kevin




                                              Commit ID                                                  Repo
git pull <remote> <branch>
            miiiCasa
                                                       Repo

                                            git clone
                                                                                                    +
                                                                          miiiCasa             +
                                                                                Kevin
                   git clone


git clone
                                                             Joseph                     git clone
                                                                                                        Hunter
                                                        git pull Kevin master



                               git pull Kevin master
               Kevin




                                              Commit ID                                                  Repo
                                    svn checkout
git push
            miiiCasa
                                  Origin




git clone
                       Joseph
                                           Hunter




              Kevin
git push
            miiiCasa
                                  Origin




git clone
                       Joseph
                                           Hunter
                       git push




              Kevin
git push
            miiiCasa
                                             Origin


                       git push



git clone
                                  Joseph
                                                      Hunter
                                  git push




              Kevin
miiiCasa
                                  +
                       Kevin
                                      git push
            miiiCasa
                                                 Origin


                           git push



git clone
                                      Joseph
                                                          Hunter
                                      git push




              Kevin
miiiCasa
                                  +
                       Kevin
                                         git push
            miiiCasa
                                                     Origin


                           git push



git clone
                                          Joseph
                                                              Hunter
                                          git push




              Kevin




                                      pull/push       merge
miiiCasa
                                  +
                       Kevin
                                         git push
            miiiCasa
                                                             Origin


                           git push



git clone
                                          Joseph
                                                                      Hunter
                                          git push




              Kevin




                                      pull/push               merge
                           svn commit                again
Facebook


Web 2.0 ?
• git clone
              Repo
• git clone
              Repo

• git add + commit
        Repo
• git clone
              Repo

• git add + commit
         Repo

• git pull / push
                Repo   merge
•             Commit
    (   SVN    )
•                        Commit
    (   SVN                 )


•                    git pull / push

    (         Central Repository)
•                                 Commit
    (   SVN                           )


•                             git pull / push

    (                 Central Repository)


•       SVN                      2
    svn checkout = git pull
    svn commit = (git add +) git commit + git push
Git Central Repo
        Centralization?
Git
         2         pull/push
      Read/Write
SCM
    Centralized Peer-To-Peer



             push             miiiCasa                 push

Joseph        pull                                 pull             Kevin

                                                pu
                                                  sh
                     h




                                         pu
                  s
               pu




                                           ll
                         ll
                     pu




    Hunter                                                    Richard




                                    merge
miiiCasa          gitosis
      https://github.com/res0nat0r/gitosis
Git Branch




Branch
Branch     Task
    diff
Branch
Branch


Joseph’s Repo



     master




   Task
Branch


       Joseph’s Repo

 bug                   doc




            master




enhance                crazy




          Task
git branch
git branch
Branch
git branch
                Branch

                Joseph’s Repo
     Commit 0


master
git branch
                                   Branch

                                   Joseph’s Repo
     Commit 0


master
           1. $ git branch crazy
git branch
                                   Branch

                                   Joseph’s Repo
     Commit 0


master
           1. $ git branch crazy



     Commit A


  crazy
git branch
                                     Branch

                                     Joseph’s Repo
     Commit 0


master
           1. $ git branch crazy



     Commit A                      Commit A1


  crazy
git branch
                                     Branch

                                     Joseph’s Repo
     Commit 0


master
           1. $ git branch crazy     2. $ git checkout master



     Commit A                      Commit A1


  crazy
git branch
                                     Branch

                                     Joseph’s Repo
     Commit 0                      Commit 1


master
           1. $ git branch crazy     2. $ git checkout master



     Commit A                      Commit A1


  crazy
git branch
                                     Branch

                                     Joseph’s Repo
     Commit 0                      Commit 1                     Commit 2


master
           1. $ git branch crazy     2. $ git checkout master



     Commit A                      Commit A1


  crazy
git branch
                                     Branch

                                     Joseph’s Repo
     Commit 0                      Commit 1                     Commit 2


master
           1. $ git branch crazy     2. $ git checkout master



     Commit A                      Commit A1


  crazy




                                         Branch
git rebase
git rebase
branch         master
git rebase
                  branch                master

                          Joseph’s Repo
     Commit 0           Commit 1          Commit 2


master



     Commit A           Commit A1


  crazy




                                            master
                crazy
git rebase
                          branch                     master

                                       Joseph’s Repo
     Commit 0                        Commit 1          Commit 2


master
           1. $ git checkout crazy



     Commit A                        Commit A1


  crazy




                                                         master
                 crazy
git rebase
                          branch                             master

                                       Joseph’s Repo
     Commit 0                        Commit 1                    Commit 2


master
           1. $ git checkout crazy      2. $ git rebase master



                                                                 Commit A    Commit A1


                                                            crazy




                                                                    master
                 crazy
git merge
git merge
        master
git merge
                                            master

                  Joseph’s Repo
     Commit 0   Commit 1             Commit 2


master



     Commit A   Commit A1


  crazy




 master                      crazy              commit
git merge
                                                                master

                                       Joseph’s Repo
     Commit 0                        Commit 1            Commit 2


master
          1. $ git checkout master



     Commit A                    Commit A1


  crazy




 master                                          crazy              commit
git merge
                                                                      master

                                       Joseph’s Repo
     Commit 0                        Commit 1                  Commit 2


master
          1. $ git checkout master      2. $ git merge crazy



     Commit A                    Commit A1


  crazy




 master                                            crazy                  commit
git merge
                                                                      master

                                       Joseph’s Repo
     Commit 0                        Commit 1                  Commit 2


master                   Commit A                       Commit A1


          1. $ git checkout master      2. $ git merge crazy



     Commit A                    Commit A1


  crazy




 master                                            crazy                  commit
git merge
                                                                      master

                                       Joseph’s Repo
     Commit 0                        Commit 1                  Commit 2
                                                                               Commit 3
master                   Commit A                       Commit A1


          1. $ git checkout master      2. $ git merge crazy



     Commit A                    Commit A1


  crazy




 master                                            crazy                  commit
• git branch crazy
          branch     crazy
• git branch crazy
          branch     crazy

• git checkout crazy
          crazy branch
• git branch crazy
          branch     crazy

• git checkout crazy
          crazy branch

• git rebase master
   master branch   sync (    commit)
• git branch crazy
            branch     crazy

• git checkout crazy
            crazy branch

• git rebase master
   master branch     sync (      commit)

• git merge crazy
   master      crazy branch (   commit)
Git     Branch
      Branch
Git Remote Branch
             Branch
SVN   Branch


      Git
Git Branch
                                 Origin




                            master




         Joseph                                        Hunter




master                           Richard          master




                            master




                   master                  remote branch
Git Branch
                                  Origin




                             master




         Joseph                                  Hunter




master                            Richard   master




                             master




                  git pull/push
Git Branch
                                    Origin




                               master




         Joseph                                    Hunter




master                              Richard   master
 $ grb create f2e-enhance




                               master




                    git pull/push
Git Branch
                                    Origin




                               master        f2e-enhance




         Joseph                                                 Hunter




master         f2e-enhance          Richard                master
 $ grb create f2e-enhance




                               master




                    git pull/push
Git Branch
                                  Origin




                             master        f2e-enhance




         Joseph                                               Hunter




master       f2e-enhance          Richard                master




                             master




                  git pull/push
Git Branch
                                  Origin




                             master        f2e-enhance




         Joseph                                                Hunter




master       f2e-enhance          Richard                master
                                                           $ grb track f2e-enhance




                             master




                  git pull/push
Git Branch
                                  Origin




                             master        f2e-enhance




         Joseph                                               Hunter




master       f2e-enhance          Richard                master        f2e-enhance




                             master




                  git pull/push
Git Branch
                                    Origin


                                                 hotfix

                             master           f2e-enhance




         Joseph                                                  Hunter




master       f2e-enhance           Richard                  master        f2e-enhance




                             master              hotfix
                                  $ grb create hotfix




                  git pull/push
Git Branch
                                  Origin


                                             hotfix

                             master        f2e-enhance




         Joseph                                               Hunter




master       f2e-enhance          Richard                master        f2e-enhance




                             master          hotfix




                  git pull/push
Git Branch
                                   Origin


                                              hotfix

                              master        f2e-enhance




         Joseph                                                Hunter

                  hotfix


master       f2e-enhance           Richard                master        f2e-enhance




                              master          hotfix




                   git pull/push
Git Remote Branch
 Branch
Code Review
miiiCasa         grb                   branch
     https://github.com/blog/98-git-remote-branch
- Git Submodule




Repo
Open Source   Library

   Code
Commit          Repo.
Submodule
            jquery   ~
jquery

                          github
              git://github.com/jquery/jquery.git



                            jquery




Joseph
jquery

                                            github
                                git://github.com/jquery/jquery.git



                                              jquery




              Joseph




$ git submodule add git://github.com/jquery/jquery static/lib/jquery
jquery

                                            github
                                git://github.com/jquery/jquery.git



                                              jquery




              Joseph

                       20a1bd
                                     jquery            static/lib/jquery
                                  Repo         commit ID


$ git submodule add git://github.com/jquery/jquery static/lib/jquery
jquery

                         github
             git://github.com/jquery/jquery.git



                           jquery




Joseph
jquery

                                     github
                         git://github.com/jquery/jquery.git



                                       jquery




           Joseph




$ cd static/lib/jquery
$ git pull
jquery

                                          github
                              git://github.com/jquery/jquery.git



                                            jquery




           Joseph

                    ??????   jquery              git pull


$ cd static/lib/jquery
$ git pull
jquery

                                          github
                              git://github.com/jquery/jquery.git



                                            jquery




           Joseph

                    ??????   jquery              git pull


$ cd static/lib/jquery
$ git pull


            jquery                                                 ...
jquery

                                  github
                      git://github.com/jquery/jquery.git



                                    jquery




        Joseph




clone                                  jquery
jquery

                                  github
                      git://github.com/jquery/jquery.git



                                    jquery




        Joseph

                                    jquery




                                   github
                      git://github.com/miiicasa/jquery.git

clone                                  jquery
jquery

                                      github
                          git://github.com/jquery/jquery.git



                                        jquery




        Joseph

                 ??????                 jquery




                                       github
                          git://github.com/miiicasa/jquery.git

clone                                      jquery
miiiCasa   submodule
submodule


 http://josephj.com/entry.php?id=342
 http://josephj.com/entry.php?id=357
Git Misc
Git
vimdiff                  Git diff
http://blog.longwin.com.tw/2009/11/vimdiff-vs-git-diff-2009/
post-receive
git push
    http://josephj.com/entry.php?id=346
post-receive   Ticket
post-receive                                 Ticket
> git commit -m “Commit just for testing trac-post-receive #1831”
> git push
post-receive                                 Ticket
> git commit -m “Commit just for testing trac-post-receive #1831”
> git push
post-receive                                 Ticket
> git commit -m “Commit just for testing trac-post-receive #1831”
> git push
post-receive                                 Ticket
> git commit -m “Commit just for testing trac-post-receive #1831”
> git push
pre-commit
PHPCS, JSLint, CSSLint   Commit
GitHub
Social Coding
Open Source Project   github
Social Coding
Open Source
Social Coding
Open Source
Social Coding
Open Source




 git clone   (   )
Social Coding
Open Source




                        fork




 git clone   (   )
Social Coding
Open Source


                 merge




                         fork




 git clone   (      )
Social Coding
Open Source


                 merge




                               fork
                         Bug




 git clone   (      )
Social Coding
  Open Source


                    merge




                            Bug
                                      GitHub   fork




Social                            Project
    git clone   (      )
github   Open
github                                      Open




               miiiCasa
               private central
                 repository




   Joseph         Kevin          Richard
    employee     employee        employee




        *.corp.miiicasa.com
github                                      Open


                                               github.com

               miiiCasa                            miiiCasa
               private central                     public central
                 repository                         repository




   Joseph         Kevin          Richard
    employee     employee        employee




        *.corp.miiicasa.com
github                                      Open


                                               github.com

               miiiCasa                            miiiCasa
               private central                     public central
                 repository                         repository




                                                      Clonn
   Joseph         Kevin          Richard            contributor
    employee     employee        employee




        *.corp.miiicasa.com
github                                      Open


                                               github.com

               miiiCasa                            miiiCasa
               private central                     public central
                 repository                         repository




                                                      Clonn
   Joseph         Kevin          Richard            contributor
    employee     employee        employee




        *.corp.miiicasa.com
Google Code                             2011/8/1                           Git
http://googlecode.blogspot.com/2011/08/announcing-git-support-for-google-code.html
Git
Git
GitHub
Git
       GitHub
Open
Git
       GitHub
Open
Git
       GitHub
Open


                 ...
Git
       GitHub
Open


                          ...
                 Github
Git
       GitHub
Open


                                  ...
                         Github
                 Social Coding
Questions
Questions

• Git   SVN, CVS
Questions

• Git   SVN, CVS
• Git   Issue System
Questions

• Git   SVN, CVS
• Git   Issue System
•   SVN                Git
Questions

• Git   SVN, CVS
• Git   Issue System
•   SVN                Git
• Git
Questions

• Git   SVN, CVS
• Git   Issue System
•    SVN               Git
• Git


    Any more questios?

More Related Content

More from Joseph Chiang

前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練Joseph Chiang
 
Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Joseph Chiang
 
Debugging - 前端工程開發實務訓練
 Debugging - 前端工程開發實務訓練 Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練Joseph Chiang
 
Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練Joseph Chiang
 
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Joseph Chiang
 
前端工程開發實務訓練
前端工程開發實務訓練前端工程開發實務訓練
前端工程開發實務訓練Joseph Chiang
 
YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練Joseph Chiang
 
CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練Joseph Chiang
 
HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練Joseph Chiang
 
模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京Joseph Chiang
 
YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)Joseph Chiang
 
YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎Joseph Chiang
 
分享無名小站 API
分享無名小站 API分享無名小站 API
分享無名小站 APIJoseph Chiang
 
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !Joseph Chiang
 
建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版Joseph Chiang
 
不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!Joseph Chiang
 
Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development Joseph Chiang
 

More from Joseph Chiang (20)

F2E, the Keystone
F2E, the KeystoneF2E, the Keystone
F2E, the Keystone
 
前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練
 
Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練
 
Debugging - 前端工程開發實務訓練
 Debugging - 前端工程開發實務訓練 Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練
 
Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練
 
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練
 
前端工程開發實務訓練
前端工程開發實務訓練前端工程開發實務訓練
前端工程開發實務訓練
 
YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練
 
CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練
 
HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練
 
模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京
 
YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)
 
YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎
 
miiiCasa is Fun
miiiCasa is FunmiiiCasa is Fun
miiiCasa is Fun
 
分享無名小站 API
分享無名小站 API分享無名小站 API
分享無名小站 API
 
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
yui3 is Sexy - 使用 YUI 3 的 Sexy Part !
 
建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版建立前端開發團隊 - 2011 中華電信訓練所版
建立前端開發團隊 - 2011 中華電信訓練所版
 
不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!不用不可之 Fiddler Debugging Proxy!
不用不可之 Fiddler Debugging Proxy!
 
Open platform
Open platformOpen platform
Open platform
 
Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development Front-end Modular & Autmomated Development
Front-end Modular & Autmomated Development
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Git - The Social Coding System

  • 1. Git Social Coding System Social / josephj joseph_chiang@miiicasa.com
  • 2. Git
  • 4. Git 1. CVS 2. Perforce
  • 5. Git 1. CVS 2. Perforce 3. SVN
  • 6.
  • 8. Client-Server miiiCasa Repo.
  • 9. Client-Server miiiCasa Repo. Joseph t checkou
  • 10. Client-Server miiiCasa Repo. Joseph t checkou ut ko ec ch Hunter
  • 11. Client-Server miiiCasa Repo. Joseph t checkou ch ec ko ut ko ut ec ch Richard Hunter
  • 12. Client-Server miiiCasa Repo. Joseph t chec checkou kout Kevin ch ec ko ut ko ut ec ch Richard Hunter
  • 13. Client-Server miiiCasa commit Repo. Joseph t chec checkou kout Kevin ch ec ko ut ko ut ec ch Richard Hunter
  • 14. Client-Server miiiCasa commit Repo. Joseph t chec checkou kout Kevin ch it m ec m ko ut co ko ut ec ch Richard Hunter
  • 15. Client-Server miiiCasa commit Repo. Joseph t chec checkou kout Kevin co ch m it m m ec it m ko ut co ko ut ec ch Richard Hunter
  • 16. Client-Server miiiCasa commit Repo. com mit Joseph t chec checkou kout Kevin co ch m it m m ec it m ko ut co ko ut ec ch Richard Hunter
  • 17. Client-Server miiiCasa commit Repo. com mit Joseph t chec checkou kout Kevin co ch m it m m ec it m ko ut co ko ut ec ch Richard Hunter
  • 18. Client-Server FTP miiiCasa commit checkout Repo. com mit Joseph t chec checkou kout Kevin commit co m ch it m m ec it m ko ut co ko ut ec ch Richard Hunter
  • 19. Client-Server miiiCasa commit Repo. com mit Joseph t chec checkou kout Web 1.0 ? co Kevin ch m it m m ec it m ko ut co ko ut ec ch Richard Hunter
  • 20. Client-Server Client-Server miiiCasa commit Server commit Repo. Joseph t chec checkou kout Kevin Server co m ch it m m ec it m ko ut co ko ut ec ch Richard Hunter
  • 21. P2P Server Client http://www.flickr.com/photos/rocketraccoon/227241974/
  • 22. Linus Torvalds Linux Linux 85.6 2.6.24 7 Core Team Linux Kernal 2005 Git form jserv Git http://www.flickr.com/photos/theducks/2236111019/ http://www.slideshare.net/tim518/loving-git2
  • 23. CVS SVN Linus Torvalds Linux Subversion has been the most pointless project ever started. Subversion used to say CVS done right... There is no way to do CVS right. If you like using CVS, you should be in some kind of mental institution or somewhere else. http://www.flickr.com/photos/theducks/2236111019/ CVS SVN
  • 24. CVS SVN Linus Torvalds Linux Subversion has been the most pointless project ever started. SVN Subversion used to say CVS done right... There is no way to do CVS right. Git If you like using CVS, you should be in some kind of mental institution or somewhere else. http://www.flickr.com/photos/theducks/2236111019/ CVS SVN
  • 25. Git P2P Peer-To-Peer git clone Repo Repo clone
  • 26. Git P2P Peer-To-Peer miiiCasa git clone Richard git clone git clone git clone Joseph Hunter Kevin git clone Repo Repo clone
  • 27. Git P2P Peer-To-Peer miiiCasa Repo Richard Git git clone git clone git clone git clone Joseph Hunter Kevin git clone Repo Repo clone
  • 28. git commit miiiCasa Repository Joseph Hunter Kevin
  • 29. git commit miiiCasa Repository Joseph vim foo.txt Hunter Kevin
  • 30. git commit miiiCasa Repository Joseph vim foo.txt git add foo.txt Hunter Kevin
  • 31. git commit miiiCasa Repository Joseph vim foo.txt git add foo.txt Hunter git commit -m “typo correct” Kevin
  • 32. git commit miiiCasa Repository Commit Joseph vim foo.txt git add foo.txt Hunter git commit -m “typo correct” Kevin
  • 33. git commit miiiCasa Repository Commit Joseph vim foo.txt git add foo.txt Hunter git commit -m “typo correct” Kevin git commit Repo Repo
  • 34. git commit miiiCasa Repository Commit Joseph vim foo.txt git add foo.txt Hunter git commit -m “typo correct” Kevin git commit Repo Repo SVN => Commit (SVK)
  • 35. git pull miiiCasa Origin Repo Joseph Hunter Kevin
  • 36. git pull miiiCasa Origin Repo Joseph Hunter git pull Kevin
  • 37. git pull miiiCasa Origin Repo git pull Joseph Hunter git pull Kevin
  • 38. git pull miiiCasa Origin Repo + miiiCasa git pull Joseph Hunter git pull Kevin
  • 39. git pull miiiCasa Origin Repo + miiiCasa git pull Joseph Hunter git pull Kevin git pull Repository merge
  • 40. git pull miiiCasa Origin Repo + miiiCasa git pull Joseph Hunter git pull Kevin git pull Repository merge svn checkout
  • 41. git pull <remote> <branch> miiiCasa Repo git clone git clone git clone Joseph git clone Hunter Kevin
  • 42. git pull <remote> <branch> miiiCasa Repo git clone git clone git clone Joseph git clone Hunter git pull Kevin master Kevin
  • 43. git pull <remote> <branch> miiiCasa Repo git clone git clone git clone Joseph git clone Hunter git pull Kevin master git pull Kevin master Kevin
  • 44. git pull <remote> <branch> miiiCasa Repo git clone + miiiCasa + Kevin git clone git clone Joseph git clone Hunter git pull Kevin master git pull Kevin master Kevin
  • 45. git pull <remote> <branch> miiiCasa Repo git clone + miiiCasa + Kevin git clone git clone Joseph git clone Hunter git pull Kevin master git pull Kevin master Kevin Commit ID Repo
  • 46. git pull <remote> <branch> miiiCasa Repo git clone + miiiCasa + Kevin git clone git clone Joseph git clone Hunter git pull Kevin master git pull Kevin master Kevin Commit ID Repo svn checkout
  • 47. git push miiiCasa Origin git clone Joseph Hunter Kevin
  • 48. git push miiiCasa Origin git clone Joseph Hunter git push Kevin
  • 49. git push miiiCasa Origin git push git clone Joseph Hunter git push Kevin
  • 50. miiiCasa + Kevin git push miiiCasa Origin git push git clone Joseph Hunter git push Kevin
  • 51. miiiCasa + Kevin git push miiiCasa Origin git push git clone Joseph Hunter git push Kevin pull/push merge
  • 52. miiiCasa + Kevin git push miiiCasa Origin git push git clone Joseph Hunter git push Kevin pull/push merge svn commit again
  • 54.
  • 56. • git clone Repo • git add + commit Repo
  • 57. • git clone Repo • git add + commit Repo • git pull / push Repo merge
  • 58.
  • 59. Commit ( SVN )
  • 60. Commit ( SVN ) • git pull / push ( Central Repository)
  • 61. Commit ( SVN ) • git pull / push ( Central Repository) • SVN 2 svn checkout = git pull svn commit = (git add +) git commit + git push
  • 62. Git Central Repo Centralization?
  • 63. Git 2 pull/push Read/Write
  • 64.
  • 65. SCM Centralized Peer-To-Peer push miiiCasa push Joseph pull pull Kevin pu sh h pu s pu ll ll pu Hunter Richard merge
  • 66. miiiCasa gitosis https://github.com/res0nat0r/gitosis
  • 68. Branch Task diff
  • 70. Branch Joseph’s Repo master Task
  • 71. Branch Joseph’s Repo bug doc master enhance crazy Task
  • 72.
  • 75. git branch Branch Joseph’s Repo Commit 0 master
  • 76. git branch Branch Joseph’s Repo Commit 0 master 1. $ git branch crazy
  • 77. git branch Branch Joseph’s Repo Commit 0 master 1. $ git branch crazy Commit A crazy
  • 78. git branch Branch Joseph’s Repo Commit 0 master 1. $ git branch crazy Commit A Commit A1 crazy
  • 79. git branch Branch Joseph’s Repo Commit 0 master 1. $ git branch crazy 2. $ git checkout master Commit A Commit A1 crazy
  • 80. git branch Branch Joseph’s Repo Commit 0 Commit 1 master 1. $ git branch crazy 2. $ git checkout master Commit A Commit A1 crazy
  • 81. git branch Branch Joseph’s Repo Commit 0 Commit 1 Commit 2 master 1. $ git branch crazy 2. $ git checkout master Commit A Commit A1 crazy
  • 82. git branch Branch Joseph’s Repo Commit 0 Commit 1 Commit 2 master 1. $ git branch crazy 2. $ git checkout master Commit A Commit A1 crazy Branch
  • 83.
  • 86. git rebase branch master Joseph’s Repo Commit 0 Commit 1 Commit 2 master Commit A Commit A1 crazy master crazy
  • 87. git rebase branch master Joseph’s Repo Commit 0 Commit 1 Commit 2 master 1. $ git checkout crazy Commit A Commit A1 crazy master crazy
  • 88. git rebase branch master Joseph’s Repo Commit 0 Commit 1 Commit 2 master 1. $ git checkout crazy 2. $ git rebase master Commit A Commit A1 crazy master crazy
  • 89.
  • 91. git merge master
  • 92. git merge master Joseph’s Repo Commit 0 Commit 1 Commit 2 master Commit A Commit A1 crazy master crazy commit
  • 93. git merge master Joseph’s Repo Commit 0 Commit 1 Commit 2 master 1. $ git checkout master Commit A Commit A1 crazy master crazy commit
  • 94. git merge master Joseph’s Repo Commit 0 Commit 1 Commit 2 master 1. $ git checkout master 2. $ git merge crazy Commit A Commit A1 crazy master crazy commit
  • 95. git merge master Joseph’s Repo Commit 0 Commit 1 Commit 2 master Commit A Commit A1 1. $ git checkout master 2. $ git merge crazy Commit A Commit A1 crazy master crazy commit
  • 96. git merge master Joseph’s Repo Commit 0 Commit 1 Commit 2 Commit 3 master Commit A Commit A1 1. $ git checkout master 2. $ git merge crazy Commit A Commit A1 crazy master crazy commit
  • 97.
  • 98. • git branch crazy branch crazy
  • 99. • git branch crazy branch crazy • git checkout crazy crazy branch
  • 100. • git branch crazy branch crazy • git checkout crazy crazy branch • git rebase master master branch sync ( commit)
  • 101. • git branch crazy branch crazy • git checkout crazy crazy branch • git rebase master master branch sync ( commit) • git merge crazy master crazy branch ( commit)
  • 102. Git Branch Branch
  • 103. Git Remote Branch Branch
  • 104. SVN Branch Git
  • 105. Git Branch Origin master Joseph Hunter master Richard master master master remote branch
  • 106. Git Branch Origin master Joseph Hunter master Richard master master git pull/push
  • 107. Git Branch Origin master Joseph Hunter master Richard master $ grb create f2e-enhance master git pull/push
  • 108. Git Branch Origin master f2e-enhance Joseph Hunter master f2e-enhance Richard master $ grb create f2e-enhance master git pull/push
  • 109. Git Branch Origin master f2e-enhance Joseph Hunter master f2e-enhance Richard master master git pull/push
  • 110. Git Branch Origin master f2e-enhance Joseph Hunter master f2e-enhance Richard master $ grb track f2e-enhance master git pull/push
  • 111. Git Branch Origin master f2e-enhance Joseph Hunter master f2e-enhance Richard master f2e-enhance master git pull/push
  • 112. Git Branch Origin hotfix master f2e-enhance Joseph Hunter master f2e-enhance Richard master f2e-enhance master hotfix $ grb create hotfix git pull/push
  • 113. Git Branch Origin hotfix master f2e-enhance Joseph Hunter master f2e-enhance Richard master f2e-enhance master hotfix git pull/push
  • 114. Git Branch Origin hotfix master f2e-enhance Joseph Hunter hotfix master f2e-enhance Richard master f2e-enhance master hotfix git pull/push
  • 115. Git Remote Branch Branch Code Review
  • 116. miiiCasa grb branch https://github.com/blog/98-git-remote-branch
  • 118. Open Source Library Code Commit Repo.
  • 119. Submodule jquery ~
  • 120. jquery github git://github.com/jquery/jquery.git jquery Joseph
  • 121. jquery github git://github.com/jquery/jquery.git jquery Joseph $ git submodule add git://github.com/jquery/jquery static/lib/jquery
  • 122. jquery github git://github.com/jquery/jquery.git jquery Joseph 20a1bd jquery static/lib/jquery Repo commit ID $ git submodule add git://github.com/jquery/jquery static/lib/jquery
  • 123. jquery github git://github.com/jquery/jquery.git jquery Joseph
  • 124. jquery github git://github.com/jquery/jquery.git jquery Joseph $ cd static/lib/jquery $ git pull
  • 125. jquery github git://github.com/jquery/jquery.git jquery Joseph ?????? jquery git pull $ cd static/lib/jquery $ git pull
  • 126. jquery github git://github.com/jquery/jquery.git jquery Joseph ?????? jquery git pull $ cd static/lib/jquery $ git pull jquery ...
  • 127. jquery github git://github.com/jquery/jquery.git jquery Joseph clone jquery
  • 128. jquery github git://github.com/jquery/jquery.git jquery Joseph jquery github git://github.com/miiicasa/jquery.git clone jquery
  • 129. jquery github git://github.com/jquery/jquery.git jquery Joseph ?????? jquery github git://github.com/miiicasa/jquery.git clone jquery
  • 130. miiiCasa submodule
  • 133. vimdiff Git diff http://blog.longwin.com.tw/2009/11/vimdiff-vs-git-diff-2009/
  • 134. post-receive git push http://josephj.com/entry.php?id=346
  • 135. post-receive Ticket
  • 136. post-receive Ticket > git commit -m “Commit just for testing trac-post-receive #1831” > git push
  • 137. post-receive Ticket > git commit -m “Commit just for testing trac-post-receive #1831” > git push
  • 138. post-receive Ticket > git commit -m “Commit just for testing trac-post-receive #1831” > git push
  • 139. post-receive Ticket > git commit -m “Commit just for testing trac-post-receive #1831” > git push
  • 145. Social Coding Open Source git clone ( )
  • 146. Social Coding Open Source fork git clone ( )
  • 147. Social Coding Open Source merge fork git clone ( )
  • 148. Social Coding Open Source merge fork Bug git clone ( )
  • 149. Social Coding Open Source merge Bug GitHub fork Social Project git clone ( )
  • 150. github Open
  • 151. github Open miiiCasa private central repository Joseph Kevin Richard employee employee employee *.corp.miiicasa.com
  • 152. github Open github.com miiiCasa miiiCasa private central public central repository repository Joseph Kevin Richard employee employee employee *.corp.miiicasa.com
  • 153. github Open github.com miiiCasa miiiCasa private central public central repository repository Clonn Joseph Kevin Richard contributor employee employee employee *.corp.miiicasa.com
  • 154. github Open github.com miiiCasa miiiCasa private central public central repository repository Clonn Joseph Kevin Richard contributor employee employee employee *.corp.miiicasa.com
  • 155. Google Code 2011/8/1 Git http://googlecode.blogspot.com/2011/08/announcing-git-support-for-google-code.html
  • 156.
  • 157. Git
  • 159. Git GitHub Open
  • 160. Git GitHub Open
  • 161. Git GitHub Open ...
  • 162. Git GitHub Open ... Github
  • 163. Git GitHub Open ... Github Social Coding
  • 165. Questions • Git SVN, CVS
  • 166. Questions • Git SVN, CVS • Git Issue System
  • 167. Questions • Git SVN, CVS • Git Issue System • SVN Git
  • 168. Questions • Git SVN, CVS • Git Issue System • SVN Git • Git
  • 169. Questions • Git SVN, CVS • Git Issue System • SVN Git • Git Any more questios?
  • 170.
  • 171. Thank you for sharing!

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. \n
  128. \n
  129. \n
  130. \n
  131. \n
  132. \n
  133. \n
  134. \n
  135. \n
  136. \n
  137. \n
  138. \n
  139. \n
  140. \n
  141. \n
  142. \n
  143. \n
  144. \n
  145. \n
  146. \n
  147. \n
  148. \n
  149. \n
  150. \n
  151. \n
  152. \n
  153. \n
  154. \n
  155. \n
  156. \n
  157. \n
  158. \n
  159. \n
  160. \n
  161. \n
  162. \n
  163. \n
  164. \n
  165. \n
  166. \n
  167. \n
  168. \n
  169. \n
  170. \n
  171. \n
  172. \n
  173. \n
  174. \n
  175. \n
  176. \n
  177. \n
  178. \n
  179. \n
  180. \n
  181. \n
  182. \n
  183. \n
  184. \n
  185. \n
  186. \n
  187. \n
  188. \n
  189. \n
  190. \n
  191. \n
  192. \n
  193. \n
  194. \n
  195. \n
  196. \n
  197. \n
  198. \n
  199. \n
  200. \n
  201. \n
  202. \n
  203. \n
  204. \n
  205. \n
  206. \n
  207. \n
  208. \n
  209. \n
  210. \n
  211. \n
  212. \n
  213. \n
  214. \n
  215. \n
  216. \n
  217. \n
  218. \n
  219. \n
  220. \n
  221. \n
  222. \n
  223. \n
  224. \n
  225. \n
  226. \n
  227. \n
  228. \n
  229. \n
  230. \n
  231. \n
  232. \n
  233. \n
  234. \n
  235. \n
  236. \n
  237. \n
  238. \n
  239. \n
  240. \n
  241. \n
  242. \n
  243. \n
  244. \n
  245. \n
  246. \n
  247. \n