MyGit

v0.41.0

jesseduffield/lazygit

版本发布时间: 2024-03-23 17:14:14

jesseduffield/lazygit最新发布版本:v0.41.0(2024-03-23 17:14:14)

Hold on tight because this is a HUGE release! This release includes a whopping 595 commits from a period of over 7 months, from 40 different contributors. Thanks to everybody who made this possible, and apologies for taking so long to actually release it: we'll be more frequent in future!

Special thanks to Stefan Haller who is behind many of this release's changes and who has been critical in getting this release across the line.

I've made a video running through the big changes here:

What's Changed

Here's some highlighted features:

Range select

range-select

You can now press 'v' to toggle range select in any list view, just like you already could in the staging view. You can also press shift+up/down to select a range. You can use range select to:

I have been waiting for this feature for a very long time and it's already made me way more productive. If I need to squash a range of commits I can now easily do it directly rather than needing to squash them one-by-one, or needing to manually start an interactive rebase first. Likewise, it's much easier to select a range of files and stage them than stage them one-by-one.

This is a Breaking change: Unfortunately, the 'v' key clashes with the existing key for pasting commits (cherry-pick), so we've replaced that with shift+V and changed the commit copy key to shift+C. If you want the old keybindings back, you can do that like so:

keybinding:
  universal:
      toggleRangeSelect: <something other than v>
    commits:
      cherryPickCopy: 'c'
      pasteCommits: 'v'

Auto-wrap in commit editor

The commit editor now automatically hard-wraps your content by default, so you no longer need to hit the enter key yourself when you approach the margin. You can disable/configure this in your config:

git:
  commit:
    autoWrapCommitMessage: true
    autoWrapWidth: 72

Thanks to @stefanhaller for this feature.

Easier remote branch checkout

Now when you go to checkout a remote branch, either via the c keybinding in the branches view or by pressing space on a remote branch, you'll be given the choice to checkout as a local branch or as a detached head (previously it would just check it out as a detached head which typically isn't what you want). This is a Breaking change in terms of muscle memory.

Thanks to @stefanhaller for this feature.

Easier start interactive rebase

Previously, to start an interactive rebase, you would need to navigate to a base commit and press e on it. Now you can simply press i and regardless of which commit is selected, an interactive rebase will begin that includes all the commits on your branch (or if there are merge commits: all the commits up to first merge commit).

The above demo for range select showcases this.

Easier squashing of fixup! commits

In a similar vein to the above section, now when you press shift+S, you're given the choice of squashing all commits above the selected commit and squashing all commits on the branch, which is what you typically want. This is a Breaking change in terms of muscle memory.

Thanks to @stefanhaller for this feature.

View divergence from upstream branch

If you press u on a local branch a menu appears which shows options relating to the branch's upstream. Now, the first option in that menu allows you to view the divergence from the upstream which shows commits to pull and commits to push

Thanks to @stefanhaller for this feature.

Find appropriate commit for fixup/amend

This one is some serious voodoo: if somebody suggests changes in a PR review, you'll often apply the changes, then go hunting for the appropriate commit to fixup/amend. Now, from the files view you can press ctrl+f and if Lazygit can identify an appropriate commit with certainty, it will select that commit for you. Pretty cool!

We've made the algorithm very strict so that you can always trust the result, but this means in circumstances where we can't know for sure which commit is appropriate (such as when your changes only include added lines), it's left to you to manually find the commit. We're keen to get lots of feedback on this feature to see where the sweet spot is.

For more info see the docs

Thanks to @stefanhaller for this feature.

Delete remote branches/tags

Now when you press d on a local branch, remote branch, or tag, you're given the option to delete that branch/tag in the remote.

Thanks to @AzraelSec for this feature.

Add co-author to commit

When you press a on a commit an option now appears to add a co-author (something GitHub can read).

Thanks to @omaussa for this feature.

Filter commits by author

You can now filter commits by author via pressing ctrl+s in the commits view and selecting the option to filter by author.

Thanks to @Part22 for this feature.

Change branch sort order

You can now change branch sort order by pressing s in the branches view (and remote branches view). By default local branches are sorted by 'recency' meaning how recently they were checked out, but you can now sort by head commit date and alphabetically.

Thanks to @hosaka for this feature.

Better bare repo support

We have fixed a bunch of bugs relating to bare repos so if you had issues with them in the past it should work fine now.

Thanks to @jwhitley for this feature.

Miscelleneous UI changes

More Breaking Changes 💥

gui:
  filterMode: 'fuzzy'

What's Changed

All Enhancements 🔥

Fixes 🔧

Maintenance ⚙️

Docs 📖

I18n 🌎

Other Changes

New Contributors

Shameless Plug

I quit my day job and co-founded Zenbu, 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://zenbu.au/

相关地址:原始地址 下载(tar) 下载(zip)

1、 checksums.txt 1.38KB

2、 lazygit_0.41.0_Darwin_arm64.tar.gz 6.18MB

3、 lazygit_0.41.0_Darwin_x86_64.tar.gz 6.38MB

4、 lazygit_0.41.0_freebsd_32-bit.tar.gz 5.71MB

5、 lazygit_0.41.0_freebsd_arm64.tar.gz 5.62MB

6、 lazygit_0.41.0_freebsd_armv6.tar.gz 5.73MB

7、 lazygit_0.41.0_freebsd_x86_64.tar.gz 6.09MB

8、 lazygit_0.41.0_Linux_32-bit.tar.gz 5.72MB

9、 lazygit_0.41.0_Linux_arm64.tar.gz 5.63MB

10、 lazygit_0.41.0_Linux_armv6.tar.gz 5.74MB

11、 lazygit_0.41.0_Linux_x86_64.tar.gz 6.1MB

12、 lazygit_0.41.0_Windows_32-bit.zip 5.93MB

13、 lazygit_0.41.0_Windows_arm64.zip 5.68MB

14、 lazygit_0.41.0_Windows_armv6.zip 5.84MB

15、 lazygit_0.41.0_Windows_x86_64.zip 6.25MB

查看:2024-03-23发行的版本