I do almost everything git manually at the CLI. But the Jetbrains IDEs have a fantastic GUI git merge tool, and I also like the local git diff UI. Add in integrated blame mode, ability to pull up version-diff files, and that sort of thing.
It's not part of my daily driver toolbox, but they do get used a lot by me.
Exactly. There's a lot of little niceties buried in the integration across the board. I'm convinced that many VSCode supporters have never used a true IDE because whenever I complain about VSCode's shortcomings I'm met with "why would you want that?". Sure, but this git example is a great one because for most of it I *don't* want it, but there's a lot of related bits that I *do* want.
I'm a bit mixed, as I really appreciate the balance that VS Code has brought to the table and even with that feel there's sometimes too much in the base install. JetBrains is definitely better than VS proper in a lot of ways though. I still have nightmares of using VS for web projects, it's not nearly as bad today but I still completely avoid it.
It's the only git operation I do with a gui. But as I said elsewhere, there are a lot of little integrations I do make use of. For instance I find it helpful to have git blame up on the side when editing a file.
I almost always operate in my own feature branch, squashing and then rebasing along the way... sometimes I'll just keep amending my feature commit as I work. I find it just saves me a lot of pain along the way.
Remember what? That people have different preferences, workflows and methods of staying productive?
Someone voiced that they liked a certain tool for a certain feature and suddenly we are judging them for it? I like that people share their thoughts and opinions.
Remember this type of comment. Never let yourself fall into this type of thinking when trying to understand what your users want.
Instead of passing judgement on why someone values something, why not ask?
For example, if you were to ask me why I chose to keep using an IDE that I had spent years of my life building muscle memory using perhaps you would get a better understanding of the specific part of the lifecycle I was at when paying for software.
It's not that the git gui was the reason why I signed up for the software in the first place. The git gui was the last reason for me to not jump ship when switching to something like neovim or helix. This was during a time where LSP was becoming popular so refactoring tools and intellisense were finally getting better adoption outside of the JetBrains tooling. Most of this was achievable with editor du jour + lsp plugins, but the git ui was the one piece I hadn't personally solved outside of the JetBrains ecosystem.
I think you're thinking about git as a separate thing from the IDE.
I love using IJ + git because there are no seams in between edit and commit. For instance, with IJ, I could easily split every other line of a change into separate commits.
Maybe there's a way in git to stage only certain parts of a diff, but I'd have to go an learn another flag or command that I'm going to forget by the next time I need to do it again.
Also with IJ, I just glance at my main branch tab and the highlighting tells me what commits aren't in my checked out feature branch.
Two small examples but there are many more and it adds up.
That's not the only reason I was using the tooling at the time. Specifically everything else regarding the JetBrains ecosystem kept me hooked, but when I was looking to replace what I liked in JetBrains with other tooling the last piece of the puzzle was replacing the git workflow.
I've been using their git diff/checkin tools built into RubyMine since I started with git. Going on about 12-13 years now. Their conflict resolution UI is so much easier than editing text contents between the >>>>s and <<<<s.
It allows you to do stuff so much faster than having to type everything manually into the terminal. Also really enjoy the "Undo Last Commit" feature and how I can easily see all modified files at once and shuffle around stuff between the staging area.
Honestly, the git implementation in PyCharm is better than any git app I've used, including lazygit (which I like and is my go-to when not in PyCharm).