github jesseduffield/lazygit v0.43.0

latest releases: v0.44.1, v0.44.0, v0.43.1...
2 months ago

What's Changed

Thanks to all contributors who helped make this release happen! There's a lot of first-time contributors on this release as well so kudos to you all.

There's quite a few things in this release. I'm going to single out a couple that have changed my workflow.

Base branch stuff

lg-base-branch-demo.mov

Easier rebase onto base branch

(Add command to rebase onto base branch by @stefanhaller in #3615)

When my feature branch gets out of date with the main branch, I like to rebase it onto the main branch. Up until now, that's required:

  • Navigating to the main branch
  • Pressing 'f' to fast-forward it onto its upstream branch
  • Pressing 'r' to rebase the checked-out branch onto the main branch

That takes too long! Now you can just press 'r' followed by 'b' to rebase onto the base branch (which defaults to origin/main).

See the divergence count from the base branch

(Divergence from base branch display by @stefanhaller in #3613)

You can now also configure to see the divergence from a branch and its base branch with the following config:

gui:
    showDivergenceFromBaseBranch: arrowAndNumber # or 'onlyArrow'

This shows the divergence count in blue, next to the yellow count of divergence from the upstream branch. This is admittedly noisy, so it's an opt-in feature. But I think the noise is worth it.

If you set the config value to 'onlyArrow' it's a lot less noisy:

image

See detailed divergence from base branch

(Add command to show divergence from base branch as a left-right log by @stefanhaller in #3614)

By pressing 'u' then 'b' on a branch you can see the divergence view for that branch compared to its base branch

Improved 'Find commit for fixup' feature

(Improve the "Find base commit for fixup" command by @stefanhaller in #3602)

'Find commit for fixup' is not a very catchy name for this feature but I can't think of anything better at the moment. Nevertheless! The idea is that you often want to know for a given set of changes, which commit ought they be included in? Just press ctrl+f when in the files panel and lazygit will jump the cursor to the appropriate commit to fixup.

With this release, the feature is smarter and more lenient so it's more likely to find you a match. If you haven't tried this out you should really give it a go!

find-commit-demo.mov

Other Enhancements 🔥

  • Add Squash merge by @noahfraiture in #3566
    • Now when you press shift+m you get the option to do a regular merge or a squash merge. If you already have muscle memory for regular merge; don't worry: it's the same sequence of keypresses.
  • Improve "Find base commit for fixup" command when there are changes for master commits by @stefanhaller in #3645
  • Allow setting the similarity threshold for detecting renames by @isti115 in #3025
    • For this, press ')' and '(' to increase/decrease the similarity threshold.
similarity-demo.mov
  • Reduce memory consumption when loading large number of commits by @stefanhaller in #3687
    • 2-6x less memory usage when dealing with lots of commits. HUGE improvement.
  • Focus on local commits view after moving code into new commit by @AzraelSec in #3577
  • Add property outputTitle to CustomCommand by @stefanhaller in #3579
  • Add user config gui.expandedSidePanelWeight by @stefanhaller in #3623
    • You can now increase the height of the selected side panel when you've configured the accordion effect
     gui:
       expandFocusedSidePanel: true
       expandedSidePanelWeight: 3
image
  • Support range select for amending commit attributes by @AzraelSec in #3587
    • This lets you select a range of commits and update the author / set the co-author on all of them at once.
lg-multi-author-select.mov

Fixes 🔧

Maintenance ⚙️

Docs 📖

New Contributors

Full Changelog: v0.42.0...v0.43.0

Shameless Plug

I (Jesse) quit my day job and co-founded Subble, a startup that helps your company manage its SaaS subscriptions (discovery of subscriptions, onboarding/offboarding etc) to save you time and money. Check it out! https://www.subble.com/

Don't miss a new lazygit release

NewReleases is sending notifications on new releases.