I’m thinking of working with some other people on a c++ or java project. Usually for small projects, we collaborate mostly through emailing source code files back and forth, but on a larger scale, it becomes too easy for things to go wrong.
I read up on version control systems such as git and it seems to fit my needs of collaboration, but the problem is that tutorials show these tools being used through the command line, which could probably become tedious very quickly. I could use the git integration included in most IDEs, but I don’t know what to do in the case of working in different IDEs or more importantly on different OS’s.
How do most teams handle problems like this? What tools do they use? And how do they handle linked libraries? Any advice would be extremely helpful!
1
Every time spent sharing code source by email is time wasted, even for small projects. Stop it now. 🙂
The most popular Version Control Systems are IDE and OS agnostic: they work at the file level. Sometimes you have plugins to make integration with IDE easier, but they are not strictly necessary.
So often you need not worry about these, as any major free VCS will do: Subversion, git, Mercurial… Just avoid outdated ones like CVS.
Command line is a non issue: these tools simply need you to tell them what you want to do “I want the get the last changes”, “I am done making changes and I want to share them”. Have you used Dropbox? It’s a bit like having a Dropbox that synchronizes only when you tell it to.
This is often done by default through command line, so it is just a matter of getting used to it. But if you are still uncomfortable with it, there are GUI front ends that integrate with your IDE or with Explorer for example (TortoiseSVN and TortoiseGit).
git (and svn) integration across IDEs (and even OSes) are most of the time just convenience buttons for the commandline which will handle all the heavy lifting, you only need to fill in the commit message and remember to do an update once in a while
also both git and svn have pure gui tools available easily findable on google
for example tortoiseSVN has explorer integration which allows you to just right click a folder right in your windows explorer and say you want to commit, it’ll ask you for a commit message and then send it over
2