How do multyple people write code for one project?

Started by
10 comments, last by Madhed 9 years, 9 months ago

Hello.

I am getting up with some of my friends and we want to code together, my question is, how do we actually share code?

How do i get to him what i wrote? and what he wrote to me? i never worked on a project with other person so i am wondering.

I am guessing when i change a file like Light.h i should it to him the file, he would have to replace his copy manually, but is there anything that does that automatically integrated intro ide, and how do you/companies do it?

Our choice of IDE is VS2013 express or Code::Blocks.

Advertisement

Use something like github, it will make you're life much easier. Although i cannot give you much advice since i only used it for my personal project, never coded in a team.

Look into Revision Control systems. It's a pretty wide topic, so I can't say everything in one post, but they're basically a way to share code by keeping a repository that others can check into / out of. The big free ones these days are subversion, git, and mercurial, and which you use depends largely on what host you want (unless you roll your own hosting, in which case you can pick). Github uses git (obviously), but afaik doesn't allow private repositories, so this is only an option if you want your project to be open sourced. There's also bitbucket, which supports both git and mercurial. They allow unlimited private repos, but place a limit on team sizes for free ones. There's a bajillion other sites out there as well, with varying degrees of permissions and requirements.

If you're working on different files, it's just a matter of pushing (or checking in, depending on what system you use) to the repo when you're done, and pulling out of the repo when you're ready to work on something so that your working copy will be pristine. When there are conflicts (such as working on the same file), there are builtin tools that try to combine the changes without human intervention if possible.


Github uses git (obviously), but afaik doesn't allow private repositories

If you need private repositories, github will provide them on a subscription model.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

If the project is small, even rsync would suffice. If you wish, you could use Dropbox to handle your rsync and servers.

I personally use Subversion.

If you need private repositories, github will provide them on a subscription model.


BitBucket provides private repositories for free and supports both Git or Mercurial. I don't find BitBucket to be as nice as GitHub, but it's definitely Good Enough(tm). You can use SourceTree as a client with either service.

If the project is small, even rsync would suffice. If you wish, you could use Dropbox to handle your rsync and servers.


I strongly disagree with this. Even on small personal projects, having revision history is critical.

Sean Middleditch – Game Systems Engineer – Join my team!

Thank you all on suggestions, i will do my research!

how do we actually share code?


Some of these previous discussions in the Production/Management forum might contain some useful tips:
http://www.gamedev.net/topic/651193-project-management-tools/
http://www.gamedev.net/topic/639765-task-and-timeline-management-tools/
http://www.gamedev.net/topic/645766-game-versioning-best-practice/
http://www.gamedev.net/topic/636411-how-easy-is-it-to-collaborate-on-a-game-remotely/
http://www.gamedev.net/topic/618210-team-communication-software/
http://www.gamedev.net/topic/627432-starting-off-an-e-studio/
http://www.gamedev.net/topic/623044-searching-for-suitable-production-management-softwaresystem/
http://www.gamedev.net/topic/627243-any-decent-free-online-virtual-workspaces-for-small-teams/

-- Tom Sloper -- sloperama.com

If you have a small team, I recommend using assembla.com.
It has a good set of tools, and for free, it can help you acquire a svn repo, ticket system, etc for a project and a team of (I think) up to 10 people.

assembla.com should that be interesting for you.

I always found subversion to be really easy to use. Check out TortoiseSVN.

You can also use 'Google code' found at code.google.com (apologies if links aren't allowed mods) for a free repository. There're a number of tutorials out there for using google code with subversion but if you need a further hand, drop me a PM :)

BSc Computer Games Programming (De Montfort University) Graduate

Worked on Angry Birds Go! at Exient Ltd

Co-founder of Stormburst Studios

This topic is closed to new replies.

Advertisement