Is it a good practise to do version control from outside the IDE? [closed]
I have heard from my peers on more than one occasion that it is “advised” not to do version controlling of your code from within the IDE where you write it. I have seen them developing on Eclipse, IntelliJ IDEA, etc. but doing version control (in my current scenario – Git) from command-line or standalone clients as opposed to using the corresponding plugins readily available for the IDE.
Though I have used version control plugins in Eclipse and never found any issues, I would like to know what is the general norm and why?
I don’t think that there’s a general norm. The answer to the question is highly subjective.
I personally don’t use any IDE integration (not even a GUI tool, except the builtin ones
git gui and
gitk) because my experience told me that these tools behave different than the command line version and/or don’t provide the full functionality available on the command line:
- Does NetBeans ignore my Git pre-commit hook?
- Can you interact with the index/staging area with TortoiseGit?
- Does TortoiseGit actually make Git a lot easier to use like TortoiseSVN?
Another thing is that your knowledge about your versioning tools is bound to your IDE. Maybe you want to set up some version management for other things than the sources you edit with Eclipse (your dotfiles, for example).
Or one day you switch your IDE, drop Eclipse and start using Visual Studio. Then you don’t have to learn only Visual Studio but in addition you need to learn the Git integration in VS too.
I think compared with what I’ve written above, there are no serious advantages that would legitimate the usage of version control tools from inside the IDE.
So, IMO, it’s a bad practice to do version control from inside the IDE and it should always be done from the outside.