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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Gitkata rerere

123
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
123
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
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. 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)