Repository navigation
Dedicated repos view #3278
Description
Activity
allowing users to easily perform bulk actions
I love this ♥ because I use in my job several repos and just do
pullwith all of them it saves time everydayAs 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
Would be nice to be able to open a repo never opened before without exiting lazygit (maybe it's already possible?)
Reacted by Varaskkar and Tyler C Laprade, CFAmicroservice-tech-nicolas commented
on Oct 7, 2024 More actionsI'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.Reacted by VaraskkarIt'd be great if I ran Lazygit on my
~/gitfolder and could see something like the following in a popup/status view:
Repo Branch(es) Status Remote(s) 1lazygitmaster 1 commit behind jesseduffield/lazygit >fix1up to date 2lazydocker>masterup to date jesseduffield/lazydocker new-feature 3 commits ahead abc123/lazydocker - select to show all branches / deselect to show current
press
1, 2, .. 0to jump to repo number
>current branch
then I can quickly see the status of everything under the current directory.
Reacted by Alan North and rxw1Does this include being able to do something like working on a multi-repo project? I find myself wishing I could create branches across repos, checkout branches across repos, etc.
For example, I might be planning to implement a new feature (A) which requires modifications to two separate Git Repos. In this instance I would like to create a feature branch in both places and after working across both repos, I would have some working tree, and I would want to stage all the changes and create 1 commit that gets replicated across two repos (each repo's commit would represent changes to that repos files).
To see this in action, JetBrains' IntelliJ IDEA does this.
I just came across this project and it's really helpful (I'm not so much a dev but use git for my IaC files, cloud-init cloud config templates, docker compose/kubernetes deployment manifests, and some code 😅 ) ! However my situation is I have a directory where I have my repos separated by private repos, public repos, etc. Within those directories are the actual repos. It'd be cool if there was a means of me adding those repos from lazygit and being able to navigate between them (the ability to perform bulk actions would be a huge bonus!). I guess this would mean that you would need to be able to launch lazygit without being in a git repo as well.
My current setup has my terminal split in 3 sections with lazygit in a dedicated section, vim in the larger of the 3 sections, and a smaller section under my vim to navigate between repos or test anything I've changed before committing.
- convert the status view into a repos view, that expands on focus to show the list of repos, just like how the stash view currently does
I, myself, would prefer this over a pop-up, though I can see the use case for either.
Hey Jesse. I started using lazygit recently and have really been liking it. Thank you so much for your work!
Is it possible to add (I'd be more than happy to implement this and submit a PR myself!) a feature to launch lazygit in the cli with n number of arguments that are paths to git repos? Sometimes I like to operate in a large local folder with multiple subfolders that are git repos. It would be great if I could launch a single lazygit instance with a menu to navigate between all of the git repos specified in the arguments.
I'd be more than happy to implement this and submit a PR myself!
Please read the CONTRIBUTING.md.
a single lazygit instance with a menu to navigate between all of the git repos specified in the arguments.
You can switch through previously used repositories by going to the
Configpanel (1) and pressingEnter, so you only need to openlazygitonce in a repo you wish to add to that list which is what was described in the initial post, this sounds like what you're proposing?Hi Mark. I'm proposing only needing to launch lazygit a single time to have multiple repos in the UI. I know there's a recently used repos menu but it can be tedious entering each repo and opening lazygit one-by-one. Something like lazygit ./repo1 ./repo2 ./subfolder/repo3 would be a lot more convenient. Thanks!
Hi guys,
Here's a solution I came up with:
#6097
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:
npm install)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?