git-absorb
gitsigns.nvim
git-absorb | gitsigns.nvim | |
---|---|---|
22 | 80 | |
3,191 | 4,388 | |
- | - | |
7.5 | 9.2 | |
25 days ago | 4 days ago | |
Rust | Lua | |
BSD 3-clause "New" or "Revised" License | MIT 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.
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
gitsigns.nvim
-
Please, help with highlights.
those are gitsigns. read :h gitsigns-highlight-groups. i think the first 3 ones (gitsignsadd, gitsignschange, gitsignsdelete) would need their background cleared.
-
Gitsigns thinks that new lines in Windows are differences
I have installed Gitsigns in a Windows machine and when I execute the method diffthis it thinks that the new lines are differences.
-
Algebraic data types in Lua (Almost) post
Lack of tooling/LSP support compared to Lua. A rather popular neovim plugin, gitsigns, recently switched from teal to regular lua for (among other reasons) the tooling.
https://github.com/lewis6991/gitsigns.nvim/commit/4d63d996b0...
-
Benchmarking some of my favourite neovim plugins over time
gitsigns.nvim
-
Introducing multicursors.nvim plugin
The closest one would be gitsigns
-
How to use Git?
you can use gitsigns
-
Your favourite Neovim plugins?
https://github.com/lewis6991/satellite.nvim absolutely amazing choices, visual economy, integration with gitsigns and builtin vim features (marks).
-
Hacky way to return to original window after using gitsign's `diffthis`. There must be a better way to do this.
It's also nice to ask him directly.
-
Async module in Lua for Nvim
For a long time, I have been searching for solutions for asynchrony in Neovim, but what interested me the most was the one provided by gitsigns.nvim. Therefore, I decided to turn it into a separate module to make it easier to use async in Neovim. I have already created some usage examples.
-
[New plugin] deadcolumn.nvim -- gradually show you colorcolumn as you type
Oh, the symbols are provided by gitsigns.nvim and I have set :h statuscolumn so that they appear to the right of the line numbers. The settings are done in plugin/statuscolumn.lua. I put custom single-file scripts under plugin and ftplugin, where they serve as light-weighted mini plugins, you can even find the prototype of deadcolumn.nvim there :)
What are some alternatives?
git-autofixup - create fixup commits for topic branches
vim-fugitive - fugitive.vim: A Git wrapper so awesome, it should be illegal
magit - It's Magit! A Git Porcelain inside Emacs.
vim-gitgutter - A Vim plugin which shows git diff markers in the sign column and stages/previews/undoes hunks and partial hunks.
stgit - Stacked Git
neogit - An interactive and powerful Git interface for Neovim, inspired by Magit
git-instafix - Amend old git commits with a simple UI.
lualine.nvim - A blazing fast and easy to configure neovim statusline plugin written in pure lua.
gitui - Blazing 💥 fast terminal-ui for git written in rust 🦀
transient - Transient commands
NvChad - Blazing fast Neovim config providing solid defaults and a beautiful UI, enhancing your neovim experience.