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.
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.
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.
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).
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.
You made me realize that I actually do use it, since I often look at git blame and the past changes.
And I like the (recent?) update in which the changes from current commit (not only stage) are coloured.
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.
1 reply →
Merge is about the only time I look for gui experience with git. I'm by no means an expert at git.
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 this when you're thinking about the average commenter's opinion on anything technical.
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.
If using the git command line makes you feel like a better developer than me that's fine ;)
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.
git add -i is the thing you'd have to learn.
I do that at the CLI most of the time and I'd say I'm quite experienced with it, but I still prefer IntelliJ when it gets complicated.
Jetbrains' implementation is (was?) just that good, yes (combined with local history).
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.
To be fair, VS Code git implementation is really off-putting if you've used something good.
Personally I love it and find it very intuitive.
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.
The parent is comparing it to, e.g. jetbrains git integration.
I have no idea about both. I just use git in terminal.
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).
Git is just that bad, huh? The best backhanded endorsement of mercurial I've seen so far.
I've always had the opinion that people complaining about it are just holding it wrong.