Your SlideShare is downloading. ×
  • Like
Gitkata rerere
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply


  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. rerere Other katas NOW (13:10) Katas NEXT (14:50) Submodules (Paweł Cesar Sanjuan Szklarz) Interactive rebase (Jakub Nabrdalik) Pull & push options (Michał Bareja) Undoing changes (Michał Bareja) Git internals (Mateusz Harasymczuk) Fish shell (Mateusz Grzechociński) Git bisect (Grzegorz Kubiak) Merging and rebasing (Mateusz Harasymczuk) Git-svn (Kamil Trzciński) Git rebase (Grzegorz Kubiak) Rescue stash (Marcin Zajączkowski) Configs/aliases (Łukasz Siwiński) Reset vs. revert (Marcin Zajączkowski) Mateusz Grzechociński$ git kata
  • 2. $ git kata rerere Other katas NOW (17:20) Submodules (Paweł Cesar Sanjuan Szklarz) Pull & push options (Michał Bareja) Git internals (Mateusz Harasymczuk) Git bisect (Grzegorz Kubiak) Git-svn (Kamil Trzciński) Rescue stash (Marcin Zajączkowski) Mateusz Grzechociński
  • 3. Shit happens...[22:46:54] mgrzechocinski ~/d/R/gitkata(master u+2) git merge topic/v1Auto-mergingsrc/main/java/pl/gitkata/rerere/Person.javaCONFLICT (content): Merge conflict insrc/main/java/pl/gitkata/rerere/Person.javaAutomatic merge failed; fix conflicts andthen commit the result.
  • 4. Sometimes not enough[22:49:59] mgrzechocinski ~/d/R/gitkata(master →|MERGING u+2) git commit[master d23e8ea] Merge branch topic/v1
  • 5. $git config --global rerere.enabled true
  • 6. Reuse Recorded Resolution
  • 7. DEMO● "Recorded preimage for XYZ"● git rerere status● git rerere diff● "Recorded resolution for XYZ"
  • 8. File context● not user● not branch● not revision● not line● FILE
  • 9. Eviction● preimage = 15d● resolved = 60d● no git gc support● git rerere gc || git rerere clean
  • 10. Sharing resolutions?● no mechanism● but... symbolic links rocks! https://github. com/ngiordano/frameworks_bas e/blob/master/git/rr-cache
  • 11. Whats the cost?● fast, simple operations on file● no graph traversing● remember about git rerere gc
  • 12. Is it safe?● if you dont believe, review your stage area
  • 13. Next katasInteractive rebase (Jakub Nabrdalik)Undoing changes (Michał Bareja)Fish shell (Mateusz Grzechociński)Merging and rebasing (Mateusz Harasymczuk)Git rebase (Grzegorz Kubiak)Configs/aliases (Łukasz Siwiński)Reset vs. revert (Marcin Zajączkowski)