# Forking & Cloning Intersect
# Downloading Github Desktop
Github stores code repositories, keeps track of code changes, allows code history to be viewed, facilitates collaboration and more. It is a developers best friend and even if you're not familiar with git already we highly recommend diving in and learning what it's all about.
To get started, create a Github account.
Then download the Github Desktop application.
Once installed, the Github Desktop application will have you sign into your Github account, you should go ahead and do that now.
# Forking Intersect
Forking is a term that basically means to copy a code repository. When you fork Intersect you will have a complete copy of the entire Intersect repo on your own Github account.
To create your fork browse to our Github repo and hit the fork button.
When done you will have your own copy of the Intersect repo that remains linked to the offical repo. Later you can pull official updates into your code base or even submit a pull request to contribute your code back to the base engine.
# Cloning Intersect
The last step is to clone your Intersect code repository onto your computer. Now that you've installed Github desktop and forked the Intersect repo this is really easy.
In Github desktop hit File -> Clone Respoitory
Then select your Intersect-Engine repository and browse to where you'd like Github to place the source, then finally hit clone.
Once the respository has cloned you can click the history tab to see the most recent code changes. The entire Intersect development history is available to browse.
If you navigate to the folder you cloned to, you will see Intersect's source ready for you to dive into.
All the setup is now done! The next step is opening the code in visual studio and compiling it for the first time!
# Public vs Private Repos
Github does not allow making forked repositories private at this time. That means if you commit custom code and then Push (Upload) those code changes to Github your modifications will be public! Creating private clones are possible but they lose the ability to easily pull code changes in order to stay up to date with the base engine, that route is more advanced than what these docs are meant for, so we recommend researching that if interested.