flatten.nvim
git-absorb
flatten.nvim | git-absorb | |
---|---|---|
6 | 22 | |
428 | 3,258 | |
- | - | |
8.0 | 7.5 | |
6 days ago | about 1 month ago | |
Lua | Rust | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
flatten.nvim
-
What do you use for git integration in neovim?
I use gitsigns for linewise operations (blame, reset, etc), and a floating terminal (toggleterm) for everything else. flatten.nvim also helps with nested nvim instances.
-
Which file explorer do you use?
I don't. I use a terminal, and https://github.com/willothy/flatten.nvim
-
Terminal filemanager that works good with neovim
You can also use the built-in terminal and use any terminal file manager you want. nvim-unception or flatten.nvim can be used to prevent nesting.
-
When I notice that I can open another nvim in the floating terminal... I don't know why I feel it funny LOLLLLLLLL
Check out flatten.nvim! (shameless self-promo but it stops nested instances from opening)
-
flatten.nvim - open files from a neovim terminal in your current neovim instance - no more nested neovim sessions!
Here is the link to the issue: https://github.com/willothy/flatten.nvim/issues/19
git-absorb
- Git Absorb
- Git-absorb: Git commit –fixup but automatic
-
OpenTF Repository is now Public
Nice, no need to look up past commits ! Didn't know about this, I had to look it up.
It's a separate project from git [0].
[0]: https://github.com/tummychow/git-absorb
-
Lazygit: Simple terminal UI for Git commands
Boy have I got the thing for you. git absorb - https://github.com/tummychow/git-absorb
The way to work with it is:
git add file1
- tummychow/git-absorb: git commit --fixup, but automatic
-
What do you use for git integration in neovim?
You can also manage via a holistic UI: - Bisection - Log and reflog, stashes - subtrees, submodules - certain third party subcommands like git-absorb, and extend it with your own - interact with issues and pull requests via forge - pretty much all of the hundreds of CLI flags via a modal UI that got generalized and extracted to a lib called transient - well-integrated diff and conflict resolution (which is mostly just smerge) - the rebase/cherry-pick workflows I liked the best, including support for --update-refs - at any time you can always press a key to see the raw commands and output that it's using, which taught me a ton of corner cases - IMO it has a great manual
-
Move File Changes From One Commit To Another
I sometimes use git-absorb to help me if I made a tonne of changes, and can't be arsed to manually make the fixups
-
Theodore Ts'o on how he uses Git when working on Linux (2017)
If done well, your git history carries the information of your process in a very similar way.
You have to be somewhere in the middle, so I'd say to do a semantic rebase at last step before merge. A fantastic tool that is not so well-known is git-absorb, which helps a lot doing that cleanly and automatically.
https://github.com/tummychow/git-absorb
-
Intern fixes 600 bugs but makes only 1 PR because it's more efficient.
Squash merge is like a sledge hammer, interactive rebase + git reset -N HEAD^ + git-absorb + git add -p (or even better, Magit) are surgical tools.
- git-absorb - git commit --fixup, but automatic
What are some alternatives?
lf.nvim - Lf file manager for Neovim (in Lua)
git-autofixup - create fixup commits for topic branches
rnvimr - Make Ranger running in a floating window to communicate with Neovim via RPC
magit - It's Magit! A Git Porcelain inside Emacs.
nvim-unception - A plugin that leverages Neovim's built-in RPC functionality to simplify opening files from within Neovim's terminal emulator without nesting sessions.
stgit - Stacked Git
vifm.vim - Vim plugin that allows use of vifm as a file picker
git-instafix - Amend old git commits with a simple UI.
neovim-remote - :ok_hand: Support for --remote and friends.
vim-fugitive - fugitive.vim: A Git wrapper so awesome, it should be illegal
netrw.nvim - It's not because we use netrw that we cannot have nice things!
transient - Transient commands