   public engine code, private game code, git repositories, projectsXsolutions, how to?
Ive been using github public repository till now for the engine Im doing, but now I will start, along with the engine, to develop the game code (real game code, not just test code), which uses the engine. Should I create another project under the "engine" solution in VS, and create a repository for it?..not sure whats gonna happen with the current repository..should I just gitignore the folder where the new project will lie? is it enough? Im just confused on what to do, Ive been using git for only a few weeks, windows gui only (guithub for windows), so yeah, to me its all magic yet.I already have imported the github repo to my bitbucket account (cause it allows private repos), but I dont even know if I should have done that ._. The engine is not a dll or lib yet, its just code, I dont know how to do a project on VS without a main entry point..am I obligated to create a lib? cant it just compile? what should I do?
I would recommend you to build up a nice directory tree for your project like one in Doom 3 ( see it on github - game sources and engine are lying near, but separately ). And use one private repo. Also making a .dll from your engine is a good idea to keep things clean. I'm using this scheme and it allows me to keep all things close enought but not mixed together. I think that you will feel the need to change some code in your 'engine' part periodically  ;) And you will have all by your hands to do it quickly. P.S.GIT is a great tool ;Another option, is the CMake environment I provided in my articles or something similar.  I have two projects going, one for the tutorial articles which exist on Google code and a private repository on GitHub.  When I pull the github repository it pulls the submodule for the Google code at the same time.  Of course when I want to work on tutorial code, I go straight to the Google code repository which has no links to the private repository.  Unfortunately the Google code contains all the CMake which does 'refer' to the private items in which case I simply use: "IF( EXISTS myPrivateDirectory )" to control if it is part of the generated solutions. In this way the primary working environment is public and I can use it in writing articles and sharing while the private items are obviously maintained privately.  But, the whole thing is unified such that the private code is simply an extension of the public code.  This makes it easy to maintain both public and private portions since I don't have to worry about divergent codebases given that the public is just a subset of the private. And I agree with Ash: GIT rules. :)