SlideShare une entreprise Scribd logo
1  sur  95
Advanced Git



         David Soria Parra I 1 Jun 2010 | @dsp_
                              1.




                                                  © 2010 Mayflower GmbH

Montag, 14. Juni 2010
What I expect




                          Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                1,

Montag, 14. Juni 2010
What I expect



          I    You already used Git




                                      Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                            1,

Montag, 14. Juni 2010
What I expect



          I    You already used Git
          I    You know how to commit




                                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                              1,

Montag, 14. Juni 2010
What I expect



          I    You already used Git
          I    You know how to commit
          I    You know how to branch




                                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                              1,

Montag, 14. Juni 2010
What I expect



          I    You already used Git
          I    You know how to commit
          I    You know how to branch
          I    You know remotes




                                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                              1,

Montag, 14. Juni 2010
Motivation




                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
Motivation



          I    OSS Projects migrate: Zend Framework, phpBB, PHPUnit, ...




                                                           Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                 1,

Montag, 14. Juni 2010
Motivation



          I    OSS Projects migrate: Zend Framework, phpBB, PHPUnit, ...
          I    Bigger projects have more complex workflows




                                                            Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                  1,

Montag, 14. Juni 2010
Motivation



          I    OSS Projects migrate: Zend Framework, phpBB, PHPUnit, ...
          I    Bigger projects have more complex workflows
          I    Git is at the beginning of the tech lifecycle




                                                               Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                     1,

Montag, 14. Juni 2010
Beispiel

    developer




                                   Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                         1,

Montag, 14. Juni 2010
A typical work flow




                 Edit




                               Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                     1,

Montag, 14. Juni 2010
A typical work flow




                 Edit          Commit




                                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                              1,

Montag, 14. Juni 2010
A typical work flow




                 Edit          Commit




                                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                              1,

Montag, 14. Juni 2010
A typical work flow




                 Edit          Commit                    Publish




                                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                              1,

Montag, 14. Juni 2010
Feature Branch
                          „Every feature on a branch“




                                                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                              1,

Montag, 14. Juni 2010
Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
master

                                 Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                       1,

Montag, 14. Juni 2010
master

                                 Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                       1,

Montag, 14. Juni 2010
master

                                 Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                       1,

Montag, 14. Juni 2010
feature-x



                                    master

                                             Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                   1,

Montag, 14. Juni 2010
feature-x



                                    master

                                             Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                   1,

Montag, 14. Juni 2010
feature-x



                                                       master
                        DAG (Directed Acyclic Graph)




                                                                Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                      1,

Montag, 14. Juni 2010
master
                                                 feature-y



                        git checkout feature-y               git rebase master


                                                                           Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                                 1,

Montag, 14. Juni 2010
master
                                                 feature-y



                        git checkout feature-y               git rebase master


                                                                           Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                                 1,

Montag, 14. Juni 2010
master
                                                 feature-y



                        git checkout feature-y               git rebase master


                                                                           Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                                 1,

Montag, 14. Juni 2010
master




                                                                                                feature-y
                        git checkout feature-y            git rebase master


                                                                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                              1,

Montag, 14. Juni 2010
Branch and Rebase




               Commit




                              Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                    1,

Montag, 14. Juni 2010
Branch and Rebase




               Commit         Rebase




                                       Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                             1,

Montag, 14. Juni 2010
Branch and Rebase




               Commit         Rebase




                                       Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                             1,

Montag, 14. Juni 2010
Branch and Rebase




               Commit         Rebase                    Merge




                                       Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                             1,

Montag, 14. Juni 2010
Interactive Rebasing




         git rebase -i bf0225ae   pick / rotate        squash


                                                  Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                        1,

Montag, 14. Juni 2010
Interactive Rebasing




                                                                   feature-y
         git rebase -i bf0225ae   pick / rotate        squash


                                                  Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                        1,

Montag, 14. Juni 2010
Interactive Rebasing




                                      bf0255ae




                                                                   feature-y
         git rebase -i bf0225ae   pick / rotate        squash


                                                  Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                        1,

Montag, 14. Juni 2010
Interactive Rebasing




                                      bf0255ae




                                                                   feature-y
         git rebase -i bf0225ae   pick / rotate        squash


                                                  Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                        1,

Montag, 14. Juni 2010
Interactive Rebasing




                                      bf0255ae




                                                                   feature-y
         git rebase -i bf0225ae   pick / rotate        squash


                                                  Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                        1,

Montag, 14. Juni 2010
Interactive Rebasing




                                      bf0255ae




                                                  feature-y
         git rebase -i bf0225ae   pick / rotate               squash


                                                     Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                           1,

Montag, 14. Juni 2010
„Never rebase branches that you pulled or
                        pushed. Rebase local branches only!“




                                                       Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                             1,

Montag, 14. Juni 2010
Index




                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
$ git status
                    # On branch master
                    # Changed but not updated:
                    # (use "git add <file>..." to update what will be committed)
                    # (use "git checkout -- <file>..." to discard changes in working directory)
                    #
                    #      modified: README.md
                    #
                    no changes added to commit (use "git add" and/or "git commit -a")

                    $ git commit
                    no changes added to commit (use "git add" and/or "git commit -a")




                                                                              Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                                    1,

Montag, 14. Juni 2010
Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
working directory   index     repository




                                            Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                  1,

Montag, 14. Juni 2010
working directory           index     repository


                            git add [file]




                                                    Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                          1,

Montag, 14. Juni 2010
working directory            index     repository


                            git add [file]

                           git stage [file]




                                                     Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                           1,

Montag, 14. Juni 2010
working directory            index                  repository


                            git add [file]

                           git stage [file]

                                                     git commit




                                                                  Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                        1,

Montag, 14. Juni 2010
working directory            index                  repository


                            git add [file]

                           git stage [file]

                                                     git commit

                                      git commit -a




                                                                  Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                        1,

Montag, 14. Juni 2010
static int run_builtin(struct cmd_st
                        +     int status, help;
                             struct stat st;
                             const char *prefix;

                             prefix = NULL;
                             help = argc == 2 && !strcmp(argv[1],
                             if (!help) {
                                   if (p->option & RUN_SETUP)
                                         prefix = setup_git_directory();

                        +          if (use_pager == -1 && p->option
                        +                use_pager = check_pager_c
                        +          if (use_pager == -1 && p->option
                        +
                             }
                                          use_pager = 1;
                                                                                                Commit
                             commit_pager_choice();




                                                                          git add -p



                                                                                       Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                                             1,

Montag, 14. Juni 2010
static int run_builtin(struct cmd_st
                        +     int status, help;
                             struct stat st;
                             const char *prefix;

                             prefix = NULL;
                             help = argc == 2 && !strcmp(argv[1],
                             if (!help) {
                                   if (p->option & RUN_SETUP)
                                         prefix = setup_git_directory();

                        +          if (use_pager == -1 && p->option
                        +                use_pager = check_pager_c
                        +          if (use_pager == -1 && p->option
                        +
                             }
                                          use_pager = 1;
                                                                                                Commit
                             commit_pager_choice();




                                                                          git add -p



                                                                                       Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                                             1,

Montag, 14. Juni 2010
New concepts
                        New possibilities



                                            Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                  1,

Montag, 14. Juni 2010
Project




                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
externe Module




             submodules
                          Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                1,

Montag, 14. Juni 2010
phpBB




                                            git init phpBB


                        git submodule add git://..../zf2.git Zend Framework 2

                                                                           Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                                 1,

Montag, 14. Juni 2010
phpBB


                                                                 git.zendframework.com
                        Zend Framework 2




                                            git init phpBB


                        git submodule add git://..../zf2.git Zend Framework 2

                                                                           Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                                 1,

Montag, 14. Juni 2010
phpBB


                        Zend Framework 2                        git.zendframework.com


                        Symfony 2                               git.github.com




                    git clone              git submodule init         git submodule update



                                                                         Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                               1,

Montag, 14. Juni 2010
phpBB


                        Zend Framework 2                        git.zendframework.com


                        Symfony 2                               git.github.com




                    git clone              git submodule init         git submodule update



                                                                         Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                               1,

Montag, 14. Juni 2010
phpBB


                        Zend Framework 2                        git.zendframework.com


                        Symfony 2                               git.github.com




                    git clone              git submodule init         git submodule update



                                                                         Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                               1,

Montag, 14. Juni 2010
mr obvious says:   Git is not subversion




                                                   Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                         1,

Montag, 14. Juni 2010
system integration




     Administration
                                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                              1,

Montag, 14. Juni 2010
Windows
                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
CRLF




                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
CRLF



          I    There is no svn:eol-style




                                           Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                 1,

Montag, 14. Juni 2010
CRLF



          I    There is no svn:eol-style




                                           Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                 1,

Montag, 14. Juni 2010
CRLF



          I    There is no svn:eol-style


          I    Modifications but no commit possible?




                                                      Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                            1,

Montag, 14. Juni 2010
CRLF



          I    There is no svn:eol-style


          I    Modifications but no commit possible?
          I    git config core.autocrlf true




                                                      Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                            1,

Montag, 14. Juni 2010
CRLF



          I    There is no svn:eol-style


          I    Modifications but no commit possible?
          I    git config core.autocrlf true
          I    git help config




                                                      Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                            1,

Montag, 14. Juni 2010
FileMode




                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
FileMode



          I    Windows Share or FAT filesystem change your exec bit?




                                                          Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                1,

Montag, 14. Juni 2010
FileMode



          I    Windows Share or FAT filesystem change your exec bit?
          I    git config core.fileMode false to the rescue




                                                          Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                1,

Montag, 14. Juni 2010
Server




                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
Server



          I    No git daemon




                               Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                     1,

Montag, 14. Juni 2010
Server



          I    No git daemon
          I    No symlinks (FAT filesystem)




                                             Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                   1,

Montag, 14. Juni 2010
Server



          I    No git daemon
          I    No symlinks (FAT filesystem)
                 I      git config core.symlinks true




                                                       Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                             1,

Montag, 14. Juni 2010
Reflog




                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
Reflog




                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
Reflog



          I    Your No 1. tool for recovery




                                              Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                    1,

Montag, 14. Juni 2010
Reflog



          I    Your No 1. tool for recovery




                                              Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                    1,

Montag, 14. Juni 2010
Reflog



          I    Your No 1. tool for recovery


          I learn it, it‘s IMPORTANT!




                                              Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                    1,

Montag, 14. Juni 2010
HEAD@{1}
                git checkout test   git checkout master              git branch -D test



                                                                     Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                           1,

Montag, 14. Juni 2010
HEAD@{1}
                git checkout test   git checkout master              git branch -D test



                                                                     Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                                           1,

Montag, 14. Juni 2010
Git can be tricky...
                            ...but it‘s simple once you
                                           understood it.




                                                   Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                                         1,

Montag, 14. Juni 2010
Summary




                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
Summary



          I    DAG and Rebase




                                Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                      1,

Montag, 14. Juni 2010
Summary



          I    DAG and Rebase
          I    Index




                                Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                      1,

Montag, 14. Juni 2010
Summary



          I    DAG and Rebase
          I    Index
          I    Submodule




                                Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                      1,

Montag, 14. Juni 2010
Summary



          I    DAG and Rebase
          I    Index
          I    Submodule
          I    Reflog




                                Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                      1,

Montag, 14. Juni 2010
More....




                        Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                              1,

Montag, 14. Juni 2010
More....



          I    Concepts




                          Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                1,

Montag, 14. Juni 2010
More....



          I    Concepts
                I       Storage format




                                         Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                               1,

Montag, 14. Juni 2010
More....



          I    Concepts
                I       Storage format
                I       Refspecs




                                         Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                               1,

Montag, 14. Juni 2010
More....



          I    Concepts
                I       Storage format
                I       Refspecs
                I       Remotes




                                         Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                               1,

Montag, 14. Juni 2010
More....



          I    Concepts
                I       Storage format
                I       Refspecs
                I       Remotes
          I    Cool features




                                         Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                               1,

Montag, 14. Juni 2010
More....



          I    Concepts
                I       Storage format
                I       Refspecs
                I       Remotes
          I    Cool features
                I       Bisect




                                         Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                               1,

Montag, 14. Juni 2010
More....



          I    Concepts
                I       Storage format
                I       Refspecs
                I       Remotes
          I    Cool features
                I       Bisect
                I       Notes




                                         Advanced Git I   Mayflower GmbH I Jun 1 2010 I
                                                                               1,

Montag, 14. Juni 2010
Thank you




                        Questions?


                                     © 2010 Mayflower GmbH

Montag, 14. Juni 2010

Contenu connexe

Advanced Git

  • 1. Advanced Git David Soria Parra I 1 Jun 2010 | @dsp_ 1. © 2010 Mayflower GmbH Montag, 14. Juni 2010
  • 2. What I expect Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 3. What I expect I You already used Git Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 4. What I expect I You already used Git I You know how to commit Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 5. What I expect I You already used Git I You know how to commit I You know how to branch Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 6. What I expect I You already used Git I You know how to commit I You know how to branch I You know remotes Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 7. Motivation Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 8. Motivation I OSS Projects migrate: Zend Framework, phpBB, PHPUnit, ... Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 9. Motivation I OSS Projects migrate: Zend Framework, phpBB, PHPUnit, ... I Bigger projects have more complex workflows Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 10. Motivation I OSS Projects migrate: Zend Framework, phpBB, PHPUnit, ... I Bigger projects have more complex workflows I Git is at the beginning of the tech lifecycle Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 11. Beispiel developer Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 12. A typical work flow Edit Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 13. A typical work flow Edit Commit Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 14. A typical work flow Edit Commit Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 15. A typical work flow Edit Commit Publish Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 16. Feature Branch „Every feature on a branch“ Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 17. Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 18. Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 19. master Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 20. master Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 21. master Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 22. feature-x master Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 23. feature-x master Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 24. feature-x master DAG (Directed Acyclic Graph) Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 25. master feature-y git checkout feature-y git rebase master Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 26. master feature-y git checkout feature-y git rebase master Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 27. master feature-y git checkout feature-y git rebase master Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 28. master feature-y git checkout feature-y git rebase master Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 29. Branch and Rebase Commit Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 30. Branch and Rebase Commit Rebase Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 31. Branch and Rebase Commit Rebase Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 32. Branch and Rebase Commit Rebase Merge Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 33. Interactive Rebasing git rebase -i bf0225ae pick / rotate squash Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 34. Interactive Rebasing feature-y git rebase -i bf0225ae pick / rotate squash Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 35. Interactive Rebasing bf0255ae feature-y git rebase -i bf0225ae pick / rotate squash Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 36. Interactive Rebasing bf0255ae feature-y git rebase -i bf0225ae pick / rotate squash Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 37. Interactive Rebasing bf0255ae feature-y git rebase -i bf0225ae pick / rotate squash Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 38. Interactive Rebasing bf0255ae feature-y git rebase -i bf0225ae pick / rotate squash Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 39. „Never rebase branches that you pulled or pushed. Rebase local branches only!“ Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 40. Index Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 41. $ git status # On branch master # Changed but not updated: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: README.md # no changes added to commit (use "git add" and/or "git commit -a") $ git commit no changes added to commit (use "git add" and/or "git commit -a") Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 42. Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 43. working directory index repository Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 44. working directory index repository git add [file] Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 45. working directory index repository git add [file] git stage [file] Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 46. working directory index repository git add [file] git stage [file] git commit Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 47. working directory index repository git add [file] git stage [file] git commit git commit -a Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 48. static int run_builtin(struct cmd_st + int status, help; struct stat st; const char *prefix; prefix = NULL; help = argc == 2 && !strcmp(argv[1], if (!help) { if (p->option & RUN_SETUP) prefix = setup_git_directory(); + if (use_pager == -1 && p->option + use_pager = check_pager_c + if (use_pager == -1 && p->option + } use_pager = 1; Commit commit_pager_choice(); git add -p Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 49. static int run_builtin(struct cmd_st + int status, help; struct stat st; const char *prefix; prefix = NULL; help = argc == 2 && !strcmp(argv[1], if (!help) { if (p->option & RUN_SETUP) prefix = setup_git_directory(); + if (use_pager == -1 && p->option + use_pager = check_pager_c + if (use_pager == -1 && p->option + } use_pager = 1; Commit commit_pager_choice(); git add -p Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 50. New concepts New possibilities Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 51. Project Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 52. externe Module submodules Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 53. phpBB git init phpBB git submodule add git://..../zf2.git Zend Framework 2 Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 54. phpBB git.zendframework.com Zend Framework 2 git init phpBB git submodule add git://..../zf2.git Zend Framework 2 Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 55. phpBB Zend Framework 2 git.zendframework.com Symfony 2 git.github.com git clone git submodule init git submodule update Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 56. phpBB Zend Framework 2 git.zendframework.com Symfony 2 git.github.com git clone git submodule init git submodule update Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 57. phpBB Zend Framework 2 git.zendframework.com Symfony 2 git.github.com git clone git submodule init git submodule update Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 58. mr obvious says: Git is not subversion Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 59. system integration Administration Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 60. Windows Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 61. CRLF Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 62. CRLF I There is no svn:eol-style Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 63. CRLF I There is no svn:eol-style Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 64. CRLF I There is no svn:eol-style I Modifications but no commit possible? Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 65. CRLF I There is no svn:eol-style I Modifications but no commit possible? I git config core.autocrlf true Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 66. CRLF I There is no svn:eol-style I Modifications but no commit possible? I git config core.autocrlf true I git help config Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 67. FileMode Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 68. FileMode I Windows Share or FAT filesystem change your exec bit? Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 69. FileMode I Windows Share or FAT filesystem change your exec bit? I git config core.fileMode false to the rescue Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 70. Server Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 71. Server I No git daemon Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 72. Server I No git daemon I No symlinks (FAT filesystem) Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 73. Server I No git daemon I No symlinks (FAT filesystem) I git config core.symlinks true Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 74. Reflog Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 75. Reflog Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 76. Reflog I Your No 1. tool for recovery Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 77. Reflog I Your No 1. tool for recovery Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 78. Reflog I Your No 1. tool for recovery I learn it, it‘s IMPORTANT! Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 79. HEAD@{1} git checkout test git checkout master git branch -D test Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 80. HEAD@{1} git checkout test git checkout master git branch -D test Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 81. Git can be tricky... ...but it‘s simple once you understood it. Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 82. Summary Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 83. Summary I DAG and Rebase Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 84. Summary I DAG and Rebase I Index Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 85. Summary I DAG and Rebase I Index I Submodule Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 86. Summary I DAG and Rebase I Index I Submodule I Reflog Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 87. More.... Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 88. More.... I Concepts Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 89. More.... I Concepts I Storage format Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 90. More.... I Concepts I Storage format I Refspecs Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 91. More.... I Concepts I Storage format I Refspecs I Remotes Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 92. More.... I Concepts I Storage format I Refspecs I Remotes I Cool features Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 93. More.... I Concepts I Storage format I Refspecs I Remotes I Cool features I Bisect Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 94. More.... I Concepts I Storage format I Refspecs I Remotes I Cool features I Bisect I Notes Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 95. Thank you Questions? © 2010 Mayflower GmbH Montag, 14. Juni 2010