Gitkata rerere
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Gitkata rerere

on

  • 401 views

 

Statistics

Views

Total Views
401
Views on SlideShare
401
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Gitkata rerere Presentation Transcript

  • 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 http://grzechocinski.net
  • 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 http://grzechocinski.net
  • 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)