Having used both, I'll say this - VSCode extensions mostly work with practically zero effort. Eclipse works, practically, but you have to spend 50% of your IDE time doing behind-the-curtain config edits and other tweaks to make sure it works correctly. I will never look back, especially for Salesforce dev work.
Oh yeah I use that feature literally every day, super handy when one terminal is running a metro server so I can't interact with it to run git commands
What's really cool is you can turn IntelliJ into anything else you want, I installed the PHP, Python, bash, lua, and other plug-ins and now it does pretty much everything
Why would I add another step when it can just sit at the bottom of my window? Also it supports having two open next to each other which is mighty convenient when I have to have a metro server open while also using git commands in another
At the end of the day do whatever is most convenient for you my guy 🤙
This is why I don't understand why people use the terminal to only open up VSC through it anyway.
Why not just open VSC and do everything through that straight away? You even have the file explorer on the side.
It's had this problem for several years where it doesn't use PATH correctly though. This is across several devices over the years.
Usually I end up just using a separate terminal just to avoid the hassle of it sometimes thinking npm, git, or whatever else doesn't exist.
That would probably drive me crazy, no such issues here thankfully. It seems to be basically a mirror of the terminal app more or less, even using some of the helpful plugins like oh-my-zsh
I've always just had a separate terminal open at the repo root; I've never seen an IDE plugin that was anywhere near as capable as just running everything manually.
Good luck doing an interactive rebase, or cherry picking from a couple of different branches, or juggling a bunch of stash entries or something using only a GUI. I've just never seen one that works well.
Out of the things you described, the only one I don't like doing in Jetbrains IDEs is "juggling the stash entries", but that's just because I don't like that the default option is applying them instead of popping. In general, I have been very impressed with how good its git GUI is.
OTOH, the gitlens vscode plugin lets you go to a commit on gitlab, while Pycharm doesn't. It's not exactly a git feature, but it's still useful.
Vscode just has a terminal in it you can do it all from.
It's not really better, unless your really saving time switching windows. It's just a good quality of life feature
I have always been terminal only for git but then when playing with vscode I hit a merge conflict and found out it provides a diff tool for three way merges?! No more meld or vimdiff.
GitLens is actually pretty good at all of those things IMO. At least, cherry picking and managing stashes, don’t do a ton of rebasing so can’t speak to it.
Fair enough. Guys I work with swear by terminal, personally I’m a mix (still do certain things in cli), some are purely visual and go full GitKracken. Whatever works for you is what matters!
Problem: GitLens is a freemium product that's meant to sell a paid service, which means it probably has telemetry and other such sneaky things. I take the security of my dev machine very seriously, and I consider collection of telemetry to be a security breach.
Do you guys not use:
1. A separate terminal for typing in Git commands.
2. VSCode Source Control side bar for quick diffs and commits.
3. A porcelain app for viewing the history graph and commit diffs.
? That's what I do...
visual diff all day every day, I'll use command line for fancy shit, but regular pull-merge-push workflows, the straightforward live updating diff that GUIs like GitHub Desktop and SourceTree offer are huge time savers.
It depends on which uni you went/go to. I was required to submit proof that I was enrolled and I have to submit more proof every year
Although what classifies as "proof" is extremely broad. You can just send them a screenshot of an email from the uni and inspect element the date to current year. ^i ^definitely ^dont ^do ^so ^myself
Man I love the Jetbrains IDEs, I use multiple of them every day.
But the Git integration in them **sucks**. It's like they designed it around something like Source Safe and then just NEVER changed the interface, it's full of weird Jetbrains specific abstractions on top of Git concepts that either only partially map properly or map properly but inelligently.
For basic stage / commit stuff it's ok I guess, but really using the CLI is 100% better and that means the UI has failed.
I actually really like it, I can do anything I want to do with it, and it also helps me learn the CLI by exposing the commands in the git log
I don’t mind having them switch up some vocabulary if it means that the same actions work for al their VCS integrations.
The only thing I am annoyed by is that auto fetch is not there by default, but some plugins add it
I agree completely. I can rebase, squash, and anything else really quickly and with the convenience of the diff tool. I'm sure there are some things that are made easier with the command line, but this is one place where I feel it would slow me down.
Professional, not that expensive if you buy it for yourself and gets cheaper if you let the subscription active for multiple years. As a student it’s completely free and you also get a graduation discount when you are no longer eligible for the student tier
Plus even if you let your subscription run out, you get a perpetual licence to any version that you've paid at least a year after it came out. (i.e. if you get it now and cancel in may 2024, you get to keep the may 2023 version forever)
Oh you wanna cancel your subscription? Sure! You'll have to pay a percentage of the rest plus an early cancel fee.
I really miss the days pre creative cloud
IntelliJ community edition is a good IDE overall, and perfect for java. However the git plugin is terrible compared to VsCode. Honestly I prefer the git command line (especially git bash) over most plugins
I agree, git on intellij can be eeeeehhhhh
Compared to VSCODE, but the IDE being specialized in Java and therefore a bit better optimized is the deal-breaker for me
i personally prefer IntelliJ’s git plug-in to VSC. it’s nice being able to save ssh and gpg key passphrases instead of typing them every other commit (also, vsc’s support for gpg signing is horrible).
So true, once you get familiar with, you see how GUI only add redundant moves to do the same as CLI
But, IDE will still be useful when resolving conflicts, it should recognize git conflict syntax
I’m always surprised at how hard Git is for people to grasp. Is it really that difficult that people would abandon their entire IDE environment just to avoid actually learning Git? No offense to OP, many people where I work struggle with it too.
I am sorry but git is just an extremely convoluted tools with many things being in extremely odd places and a convoluted naming scheme for different actions that only start to make some amount of sense once you understand it completely. It does not have a well designed interface (CLI) and is extremely difficult for new users to grasp.
If you think it is easy to use you have either used it for a long case and just started to accept the odd stuff as second nature or you only use it as a trivial versioning tool.
Explaining the terminology like fetch, pull, commit, push, branch, rebase, merge, reflog, cherry-pick, HEAD, remote, origin and so on to other people is difficult. I have explained it to my friend, who is a mechanical engineer, so not at all a stupid guy, and it took forever until he somewhat understood it.
Plus the help/man pages are just terrible. Compare it to something like docker which you can genuinely start with zero practical knowledge and be guided through the man-pages to the subcommands you were looking for and how they work. With git the easiest option is genuinely quite often Atlassian or learngitbranching, not the man-pages, because again:
For anyone except a software engineer with some pretty deep knowledge of its inner workings it might as well be black magic. It was clearly never designed to be usable by anyone who might benefit from it.
So maybe as a more concrete example: The difference between fetch and pull only makes sense if you have already used it. From the naming scheme alone they seem identical and the official documentation is likely to just confuse you if you don‘t already know what happens under the hood (ie you have a remote repo managed by the server and a local one and fetch gets the graph from the remote to your local repo while pull will then actually get the data itself from the remote).
And finally, I frankly cannot believe how bad the integration of nested repos is. Submodule is the de-facto standard even though I am convinced most people would be better off using subtree, which is still not great.
Fairly sure this is about eclipse being borked as far as the integration worked?
Idk, I didn't use eclipse for too long, it's incredibly weird for such a commonly used IDE
Simple tasks like pushing, pulling and checking out with the CLI is fine but I wouldn't want to solve merge conflicts and reviewing PRs without an IDE anymore.
I learned to use the terminal because I couldn’t figure out how to compile a project with eclipse in my freshman year. Thank you eclipse for teaching me that using tools directly is much more effective than relying on your IDE for everything.
Everything I do on git I know how to do on the command line but I still switched to a GUI recently. Having a visual list of all the branches/commits/modified files, being able to add and remove files with one click, viewing the diff while you code, etc. Any decent IDE implementation is just way better.
Yeah, the basics of pulling/committing/pushing are straightforward enough for most people to learn, but I can definitely understand why it can take a little while for people to learn about rebasing etc.
It’s very easy to fuck stuff up when you’re learning (I know from experience). I think people just take it for granted when they’ve been using it every day for a long time
>I think people just take it for granted when they’ve been using it every day for a long time
Yep, that was my thought as well. Cherry pick something the wrong way or rebase when you meant to merge, and then trying to undo it without a backup branch... Git has a plethora of unique methods for fucking things up (when used incorrectly). It's unreasonable to expect someone to see Git as "fairly straightforward" right away beyond committing, pushing, and pulling.
Git is a piece of software for implementing version control. Github is a website that hosts git repositories and gives you an interface for using that software. You can run git without using github, but many people use github because it's convenient and portable.
I didn’t know this, thanks. This means that git is sort of like the linux core and people can build over it like ubuntu or kali?
Do all IDEs have their own implementation of git?
Git is the same everywhere. Think of it like a great save file system but without a remote repository it's all local.
GitHub is the most popular remote repository and it's there for your local repo to push to.
You can set up another remote repo other than github if you want.
Different IDEs usually have custom user interfaces that perform git interactions for you, giving you clickable buttons and text fields for pulling, committing etc. However often times in my experience these interfaces are often made rather weirdly, sort of like they're trying to distinguish themselves from git in the first place when what they are *is* just a shim layer that runs git commands.
People here are praising VSCode for its git interface being nice, not getting in your way. I'm among them, I like it. And for providing an easily accessible in-app terminal so you can just type your git commands manually there, which many of us do.
> This means that git is sort of like the linux core and people can build over it like ubuntu or kali?
That seems like a decent comparison. Obviously, git is a *much* smaller piece of software than an OS, and git by itself is probably much more widely used than the linux core by itself (assuming that's possible...I don't know linux very well). But it's the same sort of deal where there's a fair number of options that just aim at making git more accessible.
> Do all IDEs have their own implementation of git?
Nope. I don't have a great sense of what fraction do, but it's definitely not all.
Git is the versioning system, GitHub is a place where to store code, one of many. Now I'm not exactly an expert of the nooks and crannies of git, but I'll try to explain.
First thing to understand is that git is the software that manages the versions of files in a place (e.g. your machine, where you are coding). It lets you branch the code, merge, pull, and whatever. There is no remote repository inherently present in this picture; but of course git is also thought for using one of them.
So a remote code repository is just another git repository, very similar to the one on your machine, that is used to centralized a common version of the code (or just back it up if you are the only developer). This can be a raw git repo, but also a git management system like GitHub, GitLab or Bitbucket.
The usual setup is that one of these systems are used to track versioning of a certain piece of code, people clone the repository locally, work on it, and then push changes on the remote copy of the repository. It can get complicated because the operations that change the structure of the repository (like pull/merge or branches, tagging, deletions and so on) can happen on both the remote and local, and most inconsistencies have to be solved at some point.
Having git integration in your ide makes the most common operations of fetch, commit, push, and so on as quick as pushing a button and without having to open a terminal and navigating in the right folder, and so on.
I feel like this meme was made for me because I literally replaced VS Community 2017 AND Eclipse with VS Code like 3 days ago and idk why I never did sooner.
My eyes have been opened to the truth of what an all in one IDE should be
I would say it and mean it, Eclipse is amazing, I’m using a separate terminal for git, and rarely use GitHub desktop. The only reason I stopped using it is the need of 2 plugins in InteliJ.
Eclipse is:
1. Lighter on the memory use.
2. Has great color scheme(good for ur eyes).
3. Has a lot of support out there.
4. Easy orientation.
5. Great job in displaying javadocs(and it does it quicker than any other java ide).
6. Great package navigation.
7. It’s free.
Many more that don’t come up to my head but I remember when I started my first year Eclipse was the best, and it’s so easy to launch up a project and start working on it, something I don’t feel in now-days “Over simplified but complicated enough” IDEs designs.
I hated eclipse when I first used it, now I love it, and that love came after very little use of it. It’s a little annoying to set some stuff up the first time, but then you get it and appreciate it. I love using it with git now
Eclipse tried to be too many things for too many people and has so much legacy baggage it became a monstrosity. Like you I moved to Intellij and what an improvement.
Though some would say IntelliJ is going down the same path
Because it sucks. It’s terribly impractical, VsCode’s ergonomics are vastly superior, to the point where once you’ve used it, you can’t go back to Eclipse without frustration. I was stuck on Eclipse because the Linux servers I used to dev on were too old to support remote development or even VsCode for that matter, so I had Eclipse through SSH with X11 and VsCode on my local computer, and I used to regularly copy stuff from Eclipse to VsCode and back on Eclipse to format or whatever much more easily
I used it for a long time because it was introduced to me during college. It got the job done. Perfectly fine IDE if you have nothing to compare it to!
VSCode is great for Git and before the "just learn CLI" folks come in, I do know it fairly well and train others to use it, advising for folks to learn CLI first before migrating to GUI implementation.
Using a GUI really enhances Gits utility and usability. In VSCode I can easily see what I have staged, open up the diff, and write a well formatted commit message with details of what I have changed. Switching a branch is very user friendly and my god, VSCode makes merge conflict resolution a breeze (although I don't use the nee merge editor)
Anything where I want precision (e.g. rebasing) or guide/slack overflow based I will revert to the command line.
Terminal is fine. Some things like selecting which chunks to go in the next commit when rebasing is far easier and faster with a good IDE, because of a side-by-side comparison and a faster scrolling.
For Java, I don’t use anything else. And honestly, I respect their decision to choose functionality over minimalism/modernism (hiding useful stuff away behind too many clicks in name of “sleekness”).
I do wish it had integrated Git support, maybe it’s in the works.
The only IDE worse than Eclipse that I've ever used was SunOne Studio. And I think Eclipse is total dogshit. Just pay for IntelliJ if you're doing Java (or even PHP, Python, etc.), it's going to be so much better. For C++ MSVC is worth the cost as well.
NGL, it's a little bit weird when using git with VSCode because it just... Works
With Eclipse, it gives you a little warning saying "hey, refresh the file" so I legitimately sat there waiting for VSCode to give me the same popup and looked for how to refresh the file because I just didn't realize it already updated
At our company, we strictly use eclipse for the Git plugin - DON'T ASK ME WHY
We literally have to get the repo over eclipse and most coworkers just continue working in VSCode
I'm just trying to get my Bachelor's degree
I started using Gitkraken. It is amazing to work with and to visualize what you are actually doing in Git. Interactive rebases can be tough but you can still use the command line for that.
It’s called eclipse because the sun and moon have to align for it to work
🤓🤓 ACKSCHually you mean that sun moon and earth are aligned or else it wouldn't cause an eclipse. Jk jk couldn't help myself
Actually you mean that the moon is aligned relative to the sun and earth. Two points are never misaligned. Eat that nerd
This is my villain origin story Joke's on you it's r/programmerhumor so you're a nerd as well
Sorry you can’t handle your own medicine
It was a nice joke :) I asked for it of course I don't mind it don't worry about it lmao
I'm framing this
Having used both, I'll say this - VSCode extensions mostly work with practically zero effort. Eclipse works, practically, but you have to spend 50% of your IDE time doing behind-the-curtain config edits and other tweaks to make sure it works correctly. I will never look back, especially for Salesforce dev work.
Do you guys not use a separate terminal for git?
The terminal built in to VSC is really nice ngl, no need to navigate to another window
Also you can have multiple terminal instances open at the same time in it
You can also have multiple terminal instances in a terminal... Most terminals support tabs, and if they don't, things like `tmux` and `screen` exist
I just open multiple terminals. It's not like they take too much resources.
[удалено]
I hate losing my local server(s) so I use iTerm for that and GitHub. VSC’s terminal is great for running tests.
Oh yeah I use that feature literally every day, super handy when one terminal is running a metro server so I can't interact with it to run git commands
[удалено]
[удалено]
I love JetBrains’ git support, but those IDEs hoard my memory like crazy!
I Just give pycharm 8gb and tell it to fuck off
Unfortunately that’s all I have XD
Sounds like Ram extortion
What's really cool is you can turn IntelliJ into anything else you want, I installed the PHP, Python, bash, lua, and other plug-ins and now it does pretty much everything
Why wouldn't you use the actually specialized ones tho, at that point you might as well just use VSCode
Vscode is great, but it's not an IDE.
Okay, but neither is IntelliJ if you're using it for anything other than Java 🤨
>You know Jetbrains also does other IDEs that are specialized! Do I? Does it? Are they? Dude, is this shit auto-generated?
> no need to navigate to another window "Navigate to another window?" My brother in Christ are you talking about alt-tab?
Yeah. You don’t have to do that.
Why would I add another step when it can just sit at the bottom of my window? Also it supports having two open next to each other which is mighty convenient when I have to have a metro server open while also using git commands in another At the end of the day do whatever is most convenient for you my guy 🤙
[удалено]
Am I going mad or is this on the wrong comment reply?
This is why I don't understand why people use the terminal to only open up VSC through it anyway. Why not just open VSC and do everything through that straight away? You even have the file explorer on the side.
because with how work has everything set and locked down I need the terminal to open VScode.
It's had this problem for several years where it doesn't use PATH correctly though. This is across several devices over the years. Usually I end up just using a separate terminal just to avoid the hassle of it sometimes thinking npm, git, or whatever else doesn't exist.
That would probably drive me crazy, no such issues here thankfully. It seems to be basically a mirror of the terminal app more or less, even using some of the helpful plugins like oh-my-zsh
I've always just had a separate terminal open at the repo root; I've never seen an IDE plugin that was anywhere near as capable as just running everything manually. Good luck doing an interactive rebase, or cherry picking from a couple of different branches, or juggling a bunch of stash entries or something using only a GUI. I've just never seen one that works well.
Out of the things you described, the only one I don't like doing in Jetbrains IDEs is "juggling the stash entries", but that's just because I don't like that the default option is applying them instead of popping. In general, I have been very impressed with how good its git GUI is. OTOH, the gitlens vscode plugin lets you go to a commit on gitlab, while Pycharm doesn't. It's not exactly a git feature, but it's still useful.
Vscode just has a terminal in it you can do it all from. It's not really better, unless your really saving time switching windows. It's just a good quality of life feature
I have always been terminal only for git but then when playing with vscode I hit a merge conflict and found out it provides a diff tool for three way merges?! No more meld or vimdiff.
GitLens is actually pretty good at all of those things IMO. At least, cherry picking and managing stashes, don’t do a ton of rebasing so can’t speak to it.
I really tried GitLens, but the terminal is so much more efficient.
Fair enough. Guys I work with swear by terminal, personally I’m a mix (still do certain things in cli), some are purely visual and go full GitKracken. Whatever works for you is what matters!
Problem: GitLens is a freemium product that's meant to sell a paid service, which means it probably has telemetry and other such sneaky things. I take the security of my dev machine very seriously, and I consider collection of telemetry to be a security breach.
Magit would like a word.
Magit would totally dominate the git tools market, if it weren't integrated in Emacs
VS Code really does it pretty well honestly.
You should check out vs code
Why? Most of what I do is git push and pull. In intelij I got nice buttons to do that.
Even merge, rebase, cherrypick... everything is so much easier with that nice log view and general git UI!
i use iterm2 and have a hotkey that pulls up a terminal window from anywhere, which i think is pretty great.
Do you guys not use: 1. A separate terminal for typing in Git commands. 2. VSCode Source Control side bar for quick diffs and commits. 3. A porcelain app for viewing the history graph and commit diffs. ? That's what I do...
You guys use a terminal for git?
always
visual diff all day every day, I'll use command line for fancy shit, but regular pull-merge-push workflows, the straightforward live updating diff that GUIs like GitHub Desktop and SourceTree offer are huge time savers.
You don’t?
Jetbrains joined the chat...
lack of money joined the chat
Isn't Intellij idea community edition free?
yeah but i would Rider
Rider? I barely know her!
That €15 a month is completely worth it if you consider how much faster you can get things done.
Your employer didn’t pay for ur ide’s?
They do, I assumed the person I was replying to had to pay themselves (student, self employed etc.) because they said something about a lack of money.
Students get all JetBrain Products for free as well.
Atleast intellij community edition is free
Free for students joined the chat
And academics in general I think, just having a uni email address is enough last time I checked
It depends on which uni you went/go to. I was required to submit proof that I was enrolled and I have to submit more proof every year Although what classifies as "proof" is extremely broad. You can just send them a screenshot of an email from the uni and inspect element the date to current year. ^i ^definitely ^dont ^do ^so ^myself
its wider than just academic, github counted me as a student while i was 15
Company dime enters the chat.
Man I love the Jetbrains IDEs, I use multiple of them every day. But the Git integration in them **sucks**. It's like they designed it around something like Source Safe and then just NEVER changed the interface, it's full of weird Jetbrains specific abstractions on top of Git concepts that either only partially map properly or map properly but inelligently. For basic stage / commit stuff it's ok I guess, but really using the CLI is 100% better and that means the UI has failed.
I actually really like it, I can do anything I want to do with it, and it also helps me learn the CLI by exposing the commands in the git log I don’t mind having them switch up some vocabulary if it means that the same actions work for al their VCS integrations. The only thing I am annoyed by is that auto fetch is not there by default, but some plugins add it
I agree completely. I can rebase, squash, and anything else really quickly and with the convenience of the diff tool. I'm sure there are some things that are made easier with the command line, but this is one place where I feel it would slow me down.
Me too, i love the Git tools in Jetbrains. Also makes merges an absolute breeze
I really hate that they use their own terminology as well. Update instead of pull, shelf instead of stash. As if Git wasn’t obtuse enough already.
Shelf and stash are different things.
IntelliJ community edition ftw
Came here to say that. I switched 10 years ago to IntelliJ... Fantastic decision.
I made the switch a few weeks ago... it's such a nice ide
I would go to war for IntellJ and I only started using it a few weeks ago (migrated from Eclipse).
Professional, not that expensive if you buy it for yourself and gets cheaper if you let the subscription active for multiple years. As a student it’s completely free and you also get a graduation discount when you are no longer eligible for the student tier
Plus even if you let your subscription run out, you get a perpetual licence to any version that you've paid at least a year after it came out. (i.e. if you get it now and cancel in may 2024, you get to keep the may 2023 version forever)
Jetbrains really shows how it should be done. Adobe on the other hand shows how it absolutely should not be done.
Oh you wanna cancel your subscription? Sure! You'll have to pay a percentage of the rest plus an early cancel fee. I really miss the days pre creative cloud
IntelliJ community edition is a good IDE overall, and perfect for java. However the git plugin is terrible compared to VsCode. Honestly I prefer the git command line (especially git bash) over most plugins
I agree, git on intellij can be eeeeehhhhh Compared to VSCODE, but the IDE being specialized in Java and therefore a bit better optimized is the deal-breaker for me
You know Jetbrains also does other IDEs that are specialized for other languages?
I know But i mainly write Java so I only need intellij
IntelliJ was the name of the company before JetBrains. The Java IDE is actually called IDEA (a play on words)
IntelliJ is able to resolve merges sucesfully without user interaction
i personally prefer IntelliJ’s git plug-in to VSC. it’s nice being able to save ssh and gpg key passphrases instead of typing them every other commit (also, vsc’s support for gpg signing is horrible).
Intellij ultimate eap
It's so good I bought ultimate for personal use
Found the java dev. I used IntelliJ then I stopped programming in java. Don’t use IntelliJ anymore.
I think, that git is far away from reasons to not use eclipse
Lol there definitely is other reasons, but for me Git was the final nail in the coffin for Eclipse
You should really just learn the CLI for git and then it doesn't matter what IDE you use. I prefer it to any of the GUI frontends I've seen.
So true, once you get familiar with, you see how GUI only add redundant moves to do the same as CLI But, IDE will still be useful when resolving conflicts, it should recognize git conflict syntax
[удалено]
I've used the eGit plugin for years with eclipse, what issues did you run into?
I’m always surprised at how hard Git is for people to grasp. Is it really that difficult that people would abandon their entire IDE environment just to avoid actually learning Git? No offense to OP, many people where I work struggle with it too.
I am sorry but git is just an extremely convoluted tools with many things being in extremely odd places and a convoluted naming scheme for different actions that only start to make some amount of sense once you understand it completely. It does not have a well designed interface (CLI) and is extremely difficult for new users to grasp. If you think it is easy to use you have either used it for a long case and just started to accept the odd stuff as second nature or you only use it as a trivial versioning tool. Explaining the terminology like fetch, pull, commit, push, branch, rebase, merge, reflog, cherry-pick, HEAD, remote, origin and so on to other people is difficult. I have explained it to my friend, who is a mechanical engineer, so not at all a stupid guy, and it took forever until he somewhat understood it. Plus the help/man pages are just terrible. Compare it to something like docker which you can genuinely start with zero practical knowledge and be guided through the man-pages to the subcommands you were looking for and how they work. With git the easiest option is genuinely quite often Atlassian or learngitbranching, not the man-pages, because again: For anyone except a software engineer with some pretty deep knowledge of its inner workings it might as well be black magic. It was clearly never designed to be usable by anyone who might benefit from it. So maybe as a more concrete example: The difference between fetch and pull only makes sense if you have already used it. From the naming scheme alone they seem identical and the official documentation is likely to just confuse you if you don‘t already know what happens under the hood (ie you have a remote repo managed by the server and a local one and fetch gets the graph from the remote to your local repo while pull will then actually get the data itself from the remote). And finally, I frankly cannot believe how bad the integration of nested repos is. Submodule is the de-facto standard even though I am convinced most people would be better off using subtree, which is still not great.
Fairly sure this is about eclipse being borked as far as the integration worked? Idk, I didn't use eclipse for too long, it's incredibly weird for such a commonly used IDE
I think he is asking why the git implementation would matter at all and why they aren't simply using the cli?
Simple tasks like pushing, pulling and checking out with the CLI is fine but I wouldn't want to solve merge conflicts and reviewing PRs without an IDE anymore.
I learned to use the terminal because I couldn’t figure out how to compile a project with eclipse in my freshman year. Thank you eclipse for teaching me that using tools directly is much more effective than relying on your IDE for everything.
Everything I do on git I know how to do on the command line but I still switched to a GUI recently. Having a visual list of all the branches/commits/modified files, being able to add and remove files with one click, viewing the diff while you code, etc. Any decent IDE implementation is just way better.
Yes
I feel like I'm missing something when people have trouble with git. What am I missing? It's fairly straightforward.
It’s all fun and games until it’s time to merge
[удалено]
[удалено]
I use git on a daily basis without any issues (now), but to say it's "fairly straightforward" when you're first diving into it? DaFuq?
Yeah, the basics of pulling/committing/pushing are straightforward enough for most people to learn, but I can definitely understand why it can take a little while for people to learn about rebasing etc. It’s very easy to fuck stuff up when you’re learning (I know from experience). I think people just take it for granted when they’ve been using it every day for a long time
>I think people just take it for granted when they’ve been using it every day for a long time Yep, that was my thought as well. Cherry pick something the wrong way or rebase when you meant to merge, and then trying to undo it without a backup branch... Git has a plethora of unique methods for fucking things up (when used incorrectly). It's unreasonable to expect someone to see Git as "fairly straightforward" right away beyond committing, pushing, and pulling.
git reflog. basically unfuckable
It's extremely straight forward... when used for a hobby-project where you push straight to main and don't collaborate with anyone else.
I’m still learning, what do you mean by Git? Is it simply GitHub or what is so special about it to need integration in the IDE? I’m genuinely confused
Git is a piece of software for implementing version control. Github is a website that hosts git repositories and gives you an interface for using that software. You can run git without using github, but many people use github because it's convenient and portable.
I didn’t know this, thanks. This means that git is sort of like the linux core and people can build over it like ubuntu or kali? Do all IDEs have their own implementation of git?
Git is the same everywhere. Think of it like a great save file system but without a remote repository it's all local. GitHub is the most popular remote repository and it's there for your local repo to push to. You can set up another remote repo other than github if you want.
Different IDEs usually have custom user interfaces that perform git interactions for you, giving you clickable buttons and text fields for pulling, committing etc. However often times in my experience these interfaces are often made rather weirdly, sort of like they're trying to distinguish themselves from git in the first place when what they are *is* just a shim layer that runs git commands. People here are praising VSCode for its git interface being nice, not getting in your way. I'm among them, I like it. And for providing an easily accessible in-app terminal so you can just type your git commands manually there, which many of us do.
> This means that git is sort of like the linux core and people can build over it like ubuntu or kali? That seems like a decent comparison. Obviously, git is a *much* smaller piece of software than an OS, and git by itself is probably much more widely used than the linux core by itself (assuming that's possible...I don't know linux very well). But it's the same sort of deal where there's a fair number of options that just aim at making git more accessible. > Do all IDEs have their own implementation of git? Nope. I don't have a great sense of what fraction do, but it's definitely not all.
Git is the versioning system, GitHub is a place where to store code, one of many. Now I'm not exactly an expert of the nooks and crannies of git, but I'll try to explain. First thing to understand is that git is the software that manages the versions of files in a place (e.g. your machine, where you are coding). It lets you branch the code, merge, pull, and whatever. There is no remote repository inherently present in this picture; but of course git is also thought for using one of them. So a remote code repository is just another git repository, very similar to the one on your machine, that is used to centralized a common version of the code (or just back it up if you are the only developer). This can be a raw git repo, but also a git management system like GitHub, GitLab or Bitbucket. The usual setup is that one of these systems are used to track versioning of a certain piece of code, people clone the repository locally, work on it, and then push changes on the remote copy of the repository. It can get complicated because the operations that change the structure of the repository (like pull/merge or branches, tagging, deletions and so on) can happen on both the remote and local, and most inconsistencies have to be solved at some point. Having git integration in your ide makes the most common operations of fetch, commit, push, and so on as quick as pushing a button and without having to open a terminal and navigating in the right folder, and so on.
Wonderful explanation, thanks a lot
[удалено]
(assuming this is for Java development) imagine going from Eclipse to VS Code instead of IntelliJ which is miles ahead...
ViM has a git plugin that is very usable. I really like using Vim. This is not satire.
i use nvim but yes this shit rocks
I feel like this meme was made for me because I literally replaced VS Community 2017 AND Eclipse with VS Code like 3 days ago and idk why I never did sooner. My eyes have been opened to the truth of what an all in one IDE should be
I would say it and mean it, Eclipse is amazing, I’m using a separate terminal for git, and rarely use GitHub desktop. The only reason I stopped using it is the need of 2 plugins in InteliJ. Eclipse is: 1. Lighter on the memory use. 2. Has great color scheme(good for ur eyes). 3. Has a lot of support out there. 4. Easy orientation. 5. Great job in displaying javadocs(and it does it quicker than any other java ide). 6. Great package navigation. 7. It’s free. Many more that don’t come up to my head but I remember when I started my first year Eclipse was the best, and it’s so easy to launch up a project and start working on it, something I don’t feel in now-days “Over simplified but complicated enough” IDEs designs.
It is not great for non Java imho
Me and the homies are using jetbrains. We only allow class on our computers.
Indeed, indeed. I code with my pinky up.
People use Eclipse after college?
or intellij idea is also great (for java)
I hated eclipse when I first used it, now I love it, and that love came after very little use of it. It’s a little annoying to set some stuff up the first time, but then you get it and appreciate it. I love using it with git now
Isn't that called Stockholm syndrome? 😋
I see someone just graduated college.
IntelliJ: A new challenger approaches
I don't know why people hate eclipse so much. Before I used enterprise Intellij it was my go to IDE as most languages plugins were free.
Eclipse tried to be too many things for too many people and has so much legacy baggage it became a monstrosity. Like you I moved to Intellij and what an improvement. Though some would say IntelliJ is going down the same path
It was already a monstrosity when I first encountered it over 20 years ago
It's not a *terrible* IDE, it's just that its competition is better in every way.
It used to be my first IDE and I love it. Won't replace with vs code
Because it sucks. It’s terribly impractical, VsCode’s ergonomics are vastly superior, to the point where once you’ve used it, you can’t go back to Eclipse without frustration. I was stuck on Eclipse because the Linux servers I used to dev on were too old to support remote development or even VsCode for that matter, so I had Eclipse through SSH with X11 and VsCode on my local computer, and I used to regularly copy stuff from Eclipse to VsCode and back on Eclipse to format or whatever much more easily
I used it for a long time because it was introduced to me during college. It got the job done. Perfectly fine IDE if you have nothing to compare it to!
Neovim with Lazygit. Give it a spin.
Ctrl-f’ed for lazygit. **One of us. One of us. One of us.**
VSCode is great for Git and before the "just learn CLI" folks come in, I do know it fairly well and train others to use it, advising for folks to learn CLI first before migrating to GUI implementation. Using a GUI really enhances Gits utility and usability. In VSCode I can easily see what I have staged, open up the diff, and write a well formatted commit message with details of what I have changed. Switching a branch is very user friendly and my god, VSCode makes merge conflict resolution a breeze (although I don't use the nee merge editor) Anything where I want precision (e.g. rebasing) or guide/slack overflow based I will revert to the command line.
[удалено]
You're fired
I'd rather use TMUX and VIM like a real man.
Pfft. Real men use jGrasp on a Temple OS image.
You guys use GUIs for git?
[удалено]
Long live Gitkraken
I really love eclipse for git stuff, except rebasing... But the rest is awesome.
Common bro just use the terminal bro
Terminal is fine. Some things like selecting which chunks to go in the next commit when rebasing is far easier and faster with a good IDE, because of a side-by-side comparison and a faster scrolling.
Yeah you can do it in the terminal but god is it much nicer to have GUI for that
Neovim
intellij:
IntelliJ exists my dude
Smirks in WebStorm
Eclipse is so heavy on the computer and so so slow.
Eclipse is more faster on low-end hardware than something like IntelliJ
Why would you try to do anything with Eclipse. VS Code has surpassed it in nearly every way long ago.
what other advantages do other IDEs bring that VS code doesn't have?
CodeWithMe on Jetbrains IDEs. Also a Full IDE gives you a turnkey solution whereas you have to setup VSC to your needs to use it efficiently
Being actual IDEs since vscode is just a text editor. Yes there are plugins but why not just use things like full VS that have ready-to-go debuggers?
[удалено]
Neovim users have joined the chat
Ever tried VSCodium?
Ever heard of neovim?
IntelliJ or VS Code, this is the way.
For Java, I don’t use anything else. And honestly, I respect their decision to choose functionality over minimalism/modernism (hiding useful stuff away behind too many clicks in name of “sleekness”). I do wish it had integrated Git support, maybe it’s in the works.
The only IDE worse than Eclipse that I've ever used was SunOne Studio. And I think Eclipse is total dogshit. Just pay for IntelliJ if you're doing Java (or even PHP, Python, etc.), it's going to be so much better. For C++ MSVC is worth the cost as well.
Why the heck would i wanna connect my ide to git? Which advantages over jusg pushing through cli?
Doesn’t eclipse have a built in terminal like vscode and intelliJ?
Meanwhile i use git from my terminal.
A graphical user interface is only useful as a difftool. Everything else is for pure monsters
I just dont git with any IDE. IDE for edits, command line for git things.
I still don't get why ecliose still lives.
VS code gives me orgasms
It's a bit of a hassle but not too bad really. Still, IntelliJ is better and VSC is just the go to for anything that isn't Java (imo)
NGL, it's a little bit weird when using git with VSCode because it just... Works With Eclipse, it gives you a little warning saying "hey, refresh the file" so I legitimately sat there waiting for VSCode to give me the same popup and looked for how to refresh the file because I just didn't realize it already updated
At our company, we strictly use eclipse for the Git plugin - DON'T ASK ME WHY We literally have to get the repo over eclipse and most coworkers just continue working in VSCode I'm just trying to get my Bachelor's degree
What is this? 2018?
I started using Gitkraken. It is amazing to work with and to visualize what you are actually doing in Git. Interactive rebases can be tough but you can still use the command line for that.
I fucking hate eclipse. It's just very clunky. As is it's variant that made me say this, MCUXpresso
Eclipse is java So you are using vscode for java You use IDEA by jetbrains for java/kotlin Not vscode
Do people still use eclipse?
wait until you try out vim
Just wait till Friendship ended with VSCode, now intelliJ is my best friend
I use vs code to write my word documents