Advanced Git

  • 12,386 views
Uploaded on

 

More in: Technology , Sports
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Tags it. Really a good PPT for git.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
12,386
On Slideshare
0
From Embeds
0
Number of Embeds
6

Actions

Shares
Downloads
0
Comments
1
Likes
54

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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