jesseduffield / lazygit

simple terminal UI for git commands
MIT License
53k stars 1.85k forks source link

Dedicated repos view #3278

Open jesseduffield opened 9 months ago

jesseduffield commented 9 months ago

Is your feature request related to a problem? Please describe. Currently if you press enter in the status view (top left) you get a menu for selecting recent repos. All you can do in this menu is select a repo to switch to, but it would be cool if you could perform more actions.

Some actions you may want to perform:

All of these actions (except switching) can support range select, allowing users to easily perform bulk actions (e.g. pull several branches at once).

Describe the solution you'd like We need a dedicated repos view which shows the list of repos and lets you perform actions on them. This view will replace the existing popup.

The real question is: where should it live? Two candidates come to mind:

Pros of using a popup:

Pros of using the status view:

We could also do a hybrid approach where you press enter on the status view to bring up the repos view, but the repos view appears in the side panel. That would be less discoverable than a dedicated repos side view, but would allow us to render repo-specific content in the main view. But do we even want to do that? What would we render?

At the moment I'm leaning towards using a popup.

What do people think?

varaskkar commented 9 months ago

allowing users to easily perform bulk actions

I love this ♥ because I use in my job several repos and just do pull with all of them it saves time everyday

As for how to implement it, I think I prefer the 2nd option, as a unique panel on the status section. I like the idea of see everything at first glance just having the scope in the panel

About the hybrid approach I'm not sure, but it's true the right panel (the big one) could show the log when you run a command or the repositories path

By the way, in addition to adding repos, I think it'd good to be able to remove the repos we no longer use

kusan-thana commented 9 months ago

Would be nice to be able to open a repo never opened before without exiting lazygit (maybe it's already possible?)

microservice-tech-nicolas commented 1 month ago

I'm also interested in a feature like this. I wanted to point out 'gita', it has a nice way of handling multiple repositories, group them, etc. Take a look: gita

Additional feature I would love: I would love to see a config where my git repos are structured in folders/workspaces. It would be so nice, if I had a dotfile to configure my "dev" directory structure, with all repo's consistent across multiple machine. To be able to use Lazygit and initialize these would be a dream. Especially if it supports submodules and worktrees.