Releases: jesseduffield/lazygit
v0.7.1
Changelog
REBASING:
Do you want to rebase your branch on top of another one, or perhaps do an interactive rebase involving the commits on your branch? This is now possible! Press 'r' on a selected branch and you will rebase onto that branch. If conflicts arise and you want to skip/continue/abort, press 'm' to view the
merge/rebase options menu.
If you want to interactively rebase, there are lots of new commands for the commits panel. For example:
- e: edit the commit
- s: squash the commit
- f: fixup the commit
- p: pick the commit (while in a rebase state)
- d: drop the commit
- r: reword the commit subject line
- R: reword the commit with you selected editor
- J: move the commit up
- K: move the commit down
- A: amend your staged changes to the current commit
You can do these directly, or if you are already in a rebase state, you can set the edit/pick/squash/fixup/drop/reword values on the commits that remain in the 'todo' section, then hit 'm' and select continue to continue the rebase.
Special thanks to @glvr182 for starting this feature off
CHERRY-PICKING:
If you press 'c' on a commit, it will be copied. Shift+C will copy a range of commits. If you then press 'v' on the commits panel in another branch, the copied commits will be cherry-picked across in the same order as they appeared before.
MOUSE-SUPPORT:
This isn't fully done yet so it's turned off by default, but if you turn it on in your config by setting gui.mouseEvents: true, you will be able to use your mouse to focus panels, scroll panels, and click on files to stage/unstage them. When this has a bit more testing I'll turn the option on by default.
This is a very large release so there is bound to be some bugs. Please create an issue if you come across any problems, or if you think a feature could be designed a little better. Happy coding!
v0.7
Changelog
e39d2ed Added check to invoke continue/refresh
a1ee11e Added error check to satisfy ci
670f0e3 Added rebase functions
27994f7 Added rebase handler
88c01c1 Added rebase keybinding
7a7e885 Added rebase support commands
7b850c5 Added some translations
34fd18a Error handling
95d451e Make it easier to run sync/async commands, switch to interactive rebase when rebasing on branches
9489a94 Make merge panel its own panel
cce6f40 Making ci happier
3d343e9 Merge branch 'master' into feature/rebasing
6430ab6 Merge branch 'master' into feature/rebasing
0c886ed Revert "remove old rebase code now that we're only ever interactively rebasing"
7a2176f acknowledge 'DU' statuses as being merge conflicts
790235f add another match on the error message to tell us we've encountered merge conflicts
daca07e add loading panel
d446381 add various interactive rebase commands
ac5088e allow both enter and space to execute menu item
1337f6e appease golangci
75ab8ec catch rebase errors and show in error panels
f4938de change type of cherryPickedCommits from []string to []*Commit
23c51ba cleanup
ad93b4c consider whether the view has focus when rendering the contents of a view
abc0f7f copy lazygit directory into docker container
adc2529 dealing better with errors at the top level
639df51 decolorise strings before calculating padwidths
399346c disable mouse feature until its ready
0079015 distinguish between inline and non-inline merge conflicts
935f774 don't autostash when editing
e0bdfad don't crash if we have no lines to stage
ab81f27 don't show stack trace if lazygit is started outside of a git repo
7a170bb extend cheatsheet generator to contain context based keybindings
d967f65 fix git tests
cb372d4 fix golangci errors
273678f fix issue where you couldn't rearrange commits while rebasing onto a branch
4de31da fix up tests
f07fc31 fixup layout issue that was causing crashes when the window was too small
8305d8e hide donate button if mouse events are disabled
43758cb i18n for rebase loading states
19a3ac6 improve script for making a test repo
198cbee introduce panel contexts and more work on rebasing
cdc50e8 more support for files with spaces
e011e9b more work on rebasing feature
e0ff46f more work on rebasing including visual indicators
8c0ea8f mouse support
a365615 only use subprocess for merging, not rebasing
dbb01b0 populate dutch and polish i18n files with new messages
77faf85 post-merge cleanup
c101993 post-merge cleanup
e36899d prevent crashes when scrolling up
dcc7855 pull commit list builder functions into their own builder struct
f6b3a9b rearranging todo items while interactively rebasing
43ab731 remove HasMergeConflicts struct instance variables
1a19b14 remove old rebase code now that we're only ever interactively rebasing
88ba6ef remove outdated TODO
76a27f4 rename any commit
afbc028 revert to the old keybinding for stash: I don't want anybody accidentally deleting changes they are trying to stash
a8e22ed show interactive rebase commits that are yet to go
4bb577a show loading status for rebasing events
6c1d2d4 some i18n and restricting rewording during interactive rebase
a8858cb support cherry picking commits
0173fdb support file renames
a5d2776 support user configuring mouse events to be enabled
34acaf7 support users with gotest for coloured test output
e09f390 update go.mod
e331dfc update i18n
cfe3605 use go-errors package to display stacktrace of errors that cause panics
0a12987 use sh intead of bash for the sake of testing on the docker image
8925b16 windows support for skipping the editor
0228e25 work towards more interactive rebase options
9661ea0 wrap amend command in a confirmation
v0.6
Changelog
- You can now stage lines/hunks! Hit enter on a file to enter the view, and then hit space to stage the selected line. This is the first cut and in the future it will be easier to un-stage lines as well.
- If git asks for a username/password, you can enter them from within the app. Thanks to @mjarkk!
- You can fast-forward branches (e.g. master and develop) without checking them out.
- Fixed bug where the recent repos menu was too tall. Thanks to @KOREAN139!
- Tab spacing is now shown in the main panel.
- Clearing the working tree is now faster.
- You can now generate a cheatsheet for the app in your language. We will later automatically generate this with each release. Thanks to @dawidd6!
If you have contributed some code in this release but I've forgotten about you, please let me know!
Stay Lazy!
v0.5
Changelog
You can now open pull requests directly from lazygit! In the branches panel, pressing 'o' will open your browser with your pull request ready to go. Thanks @kristijanhusak For this feature!
The workflow for force deleting a branch is smoother: you just hit 'd' to delete the branch, and if it has unmerged changes you'll get prompted for a confirmation to force delete it. Thanks @rozuur!
v0.4
Changelog
61f0801 Add ammend commit action.
190309e Check if there is any commit to amend and use 'A' instead of 'M' as shortcut.
4287f8a Fix tests and add test scenarios for amend.
0d33a74 Merge branch 'feature/informative-commit-colors' of https://github.com/jesseduffield/lazygit into feature/informative-commit-colors
e9245cd Merge branch 'master' into add-tests-part-7
ac65586 Merge branch 'master' into feature/commit-amend
7164f37 Merge branch 'master' into feature/commit-amend
8fac19c Merge branch 'master' into feature/informative-commit-colors
17d7bcd Merge branch 'master' into feature/informative-commit-colors
b6b21bc Merge branch 'master' of git://github.com/jesseduffield/lazygit into feature/commit-amend
7fb2caf Merge pull request #279 from jesseduffield/hotfix/file-ordering
d5f6460 Merge pull request #283 from kristijanhusak/feature/commit-amend
b8b59ba Merge pull request #290 from jesseduffield/feature/informative-commit-colors
d0a3f1e Merge pull request #291 from antham/add-tests-part-7
5f7ac97 Refresh side panels and use uppercase HEAD in all git commands that requires it.
28fe3d6 Use confirmation popup for amending last commit.
a2b3cd0 add removeAll to git
eb69d98 add test for CurrentBranchName
fb9596a add test for getMergeBase
c789bba color merged and unmerged commits differently
9481920 commands/git : add test to GetLog
360b7c1 commands/git : refactor test to Diff, refactor function
bdeb78c commands/git : returns an error instead of panicing
2be6136 more test coverage
f3fc98a support git flow when colouring commits
v0.3.1
Changelog
7947668 Merge branch 'hotfix/273-cursor-scrolling' of https://github.com/jesseduffield/lazygit into hotfix/273-cursor-scrolling
53aef78 Merge branch 'master' into hotfix/273-cursor-scrolling
2229a6e Merge branch 'master' into hotfix/commit-message-panel-focus
80d6bbe Merge branch 'master' of https://github.com/jesseduffield/lazygit
3df4a94 Merge pull request #295 from jesseduffield/hotfix/commit-message-panel-focus
b8b3eee Merge pull request #300 from jesseduffield/hotfix/273-cursor-scrolling
4e0d0f7 Update README.md
3d751c0 add donation link to status panel
b9708c9 fix issues with commit message panel losing focus
619c28c use lineheight rather than buffer length
227067f use lineheight rather than buffer length
v0.3.0
Changelog
Switch to recent repos from the status panel with the 's' key
Lots more tests
Fixed bug where commit message panel retained focus while being hidden
Fixed bug where the program crashed after refreshing files or committing
v0.2.2
Changelog
- New menu panel! Instead of memorising all the keybindings, you can just press 'x' and see all the current panel's options in a popup dropdown menu. (thankyou @dawidd6!)
- Lots of unit tests and increased test coverage (thankyou @antham!)
- More translation coverage for dutch/polish (thankyou @mjarkk!)
- Confirm quit config option (for people who accidentally hit q too often)
- Fixing issue with escaped quotes in commit messages on linux (thankyou @sascha-andres!)
- Some repo housekeeping (thankyou @glvr182!)
- Support for go1.11 modules (@antham)
- Commit message character count (thanks @dawidd6)
- Faster CI (@antham)
- Supporting commit renaming via the user's editor (thanks @d-dorazio!)
- Lots of bugfixes
v0.2.1
v0.2.0
Changelog
- Auto-updates (you'll get a prompt)
- Anonymous error reporting (if you want it)
- staging/unstaging all files with 'a'
- Lots of unit tests added
- Panicking less, and with better error messages