Earlier quoted context omitted.
Exactly the opposite for me. I absolutely do not trust GUIs to do the right thing. I don't trust text area to use correct line endings consistently across platforms, I don't trust them to be up to date with new options for `commit` or `checkout`, they never show examples what result will be (--dry-run). None GUI is ever up to date with documentation and contains all functionality which I can autocomplete with [tab][t…
Literally every git GUI I've used has screwed up a git repository at some point, requiring relatively-advanced CLI use to untangle it. They're wildly untrustworthy IMO. They also almost never perform reasonably on truly large repos, aside from gitk. Since using a GUI has inevitably required me to learn CLI in depth, and adds the complexity of figuring out what the hell the GUI actually did because of course it doesn'…
Lazygit: A simple terminal UI for Git commands
71–80 of 143 posts
Re: Lazygit: A simple terminal UI for Git commands
#72A very satisfied user. As a (neo)vim user, I did suffer from magit envy but at the end, Lazygit takes care of all my needs. I prefer the UX (Just a personal preference). Kudos to the dev for the wonderful tool PS: There is also lazydocker by same person https://github.com/jesseduffield/lazydocker
Re: Lazygit: A simple terminal UI for Git commands
#73If there is one thing that terrifies me it's using Git, or any source control, from the command line. No matter how long I've been in this industry, I just can't get cozy with doing a lot of heavy lifting in any shell environment. Give me the GUI all day every day.
Exactly the opposite for me. I absolutely do not trust GUIs to do the right thing. I don't trust text area to use correct line endings consistently across platforms, I don't trust them to be up to date with new options for `commit` or `checkout`, they never show examples what result will be (--dry-run). None GUI is ever up to date with documentation and contains all functionality which I can autocomplete with [tab][t…
I can stage hunks by yanking the diff header (excluding the line that starts with @@) and pasting it above the hunk I want to stage and then filtering the hunk through:
:' !git apply --cached -
If I want to unstage it, I can press u to restore the hunk I just filtered and then run :' !git apply -R --cached -
I can commit from within vim by reading the verbose status output by running: :r !git status -v
typing my commit message at the top and filtering it through :' !git commit -F -
> Does any GUI offer `-p` in `git commit` and `git stash`? I literally use it 10s times per day, can't live without it once I started using it.In addition to what I wrote above using git apply --cached, I can actually edit hunks from within vim and then filter the hunk (with the diff header) through the recountdiff utility that comes with patchutils. That basically updates the numbers in the line that starts with @@ to account for the changes in the number of added and removed lines introduced by the edit. This way, I can stage my changes and still exclude extraneous changes or debug statements I've added to the code.
I've actually found this to be a better experience compared to using the -p option.
Re: Lazygit: A simple terminal UI for Git commands
#74Re: Lazygit: A simple terminal UI for Git commands
#75For me, it feels really similar to "gitx", which was mac only and stopped being maintained. Having it just be in my terminal is a bonus.
Re: Lazygit: A simple terminal UI for Git commands
#76Earlier quoted context omitted.
Literally every git GUI I've used has screwed up a git repository at some point, requiring relatively-advanced CLI use to untangle it. They're wildly untrustworthy IMO. They also almost never perform reasonably on truly large repos, aside from gitk. Since using a GUI has inevitably required me to learn CLI in depth, and adds the complexity of figuring out what the hell the GUI actually did because of course it doesn'…
One of the largest pieces of feedback I've had is around displaying the actual git commands that lazygit runs so now there's a new panel that does exactly that, displayed by default. I find that works well for demystifying what's going on and can actually help educate on which commands can satisfy which use cases. It's also kept me accountable in that if I try to satisfy some use case in a sneaky, smart way, it resul…
Re: Lazygit: A simple terminal UI for Git commands
#77 panic: '%' is not recognized as an internal or external command, operable program or batch file.
goroutine 39 [running]:
github.com/jesseduffield/lazygit/pkg/commands.(*BranchListBuilder).obtainBranches(0xc00039bef0, 0x1367340, 0x10000, 0x0)
/home/runner/work/lazygit/lazygit/pkg/commands/loading_branches.go:43 +0x693
github.com/jesseduffield/lazygit/pkg/commands.(*BranchListBuilder).Build(0xc0000dbef0, 0x11315f7, 0xc0000a4690, 0x1326e87)
/home/runner/work/lazygit/lazygit/pkg/commands/loading_branches.go:103 +0x52
github.com/jesseduffield/lazygit/pkg/gui.(*Gui).refreshBranches(0xc0000b8000)
/home/runner/work/lazygit/lazygit/pkg/gui/branches_panel.go:69 +0xc6
github.com/jesseduffield/lazygit/pkg/gui.(*Gui).refreshReflogCommitsConsideringStartup.func1()
/home/runner/work/lazygit/lazygit/pkg/gui/commits_panel.go:69 +0x45
github.com/jesseduffield/lazygit/pkg/utils.Safe.func1(0xb35af5, 0xc000055da0)
/home/runner/work/lazygit/lazygit/pkg/utils/utils.go:95 +0x2b
github.com/jesseduffield/lazygit/pkg/utils.SafeWithError(0xc00039bfb8, 0x0, 0x0)
/home/runner/work/lazygit/lazygit/pkg/utils/utils.go:106 +0x67
github.com/jesseduffield/lazygit/pkg/utils.Safe(0xc00008aa40)
/home/runner/work/lazygit/lazygit/pkg/utils/utils.go:95 +0x50
created by github.com/jesseduffield/lazygit/pkg/gui.(*Gui).refreshReflogCommitsConsideringStartup
/home/runner/work/lazygit/lazygit/pkg/gui/commits_panel.go:67 +0xa9
Before the crash, the UI is drawn reaaaaallyyy slowly (my cmd window is 170 characters wide -- maybe that's why)In any case, I prefer to stick with the command-line.
Re: Lazygit: A simple terminal UI for Git commands
#78It seems to me to be a solution in search of a problem.
It looks to be nice but it merely adds an extra level of complexity.
Re: Lazygit: A simple terminal UI for Git commands
#79A very satisfied user. As a (neo)vim user, I did suffer from magit envy but at the end, Lazygit takes care of all my needs. I prefer the UX (Just a personal preference). Kudos to the dev for the wonderful tool PS: There is also lazydocker by same person https://github.com/jesseduffield/lazydocker
May I ask what made you choose lazygit instead of fugitive? I'm using the latter and am quite happy with it, but I'm keen to learn what I'm missing out on.
Same with editors, I really want to like VS Code but in the end I just open vim by default again.
Re: Lazygit: A simple terminal UI for Git commands
#80I tried (just like I tried a whole bunch of other things). I get this both in `cmd` and in `ConEmu` on Windows 10 Pro-64 bit (Version 10.0.19043.1387). After the crash, all the enhanced console functionality is gone. panic: '%' is not recognized as an internal or external command, operable program or batch file. goroutine 39 [running]: github.com/jesseduffield/lazygit/pkg/commands.(*BranchListBuilder).obtainBranches(…