KEMBAR78
Advanced Git | PDF
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

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 workflow Edit Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 13.
    A typical workflow Edit Commit Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 14.
    A typical workflow Edit Commit Advanced Git I Mayflower GmbH I Jun 1 2010 I 1, Montag, 14. Juni 2010
  • 15.
    A typical workflow 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 branchesthat 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(structcmd_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(structcmd_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 betricky... ...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