How to start using GitHub with SashiDo (for beginners)
Tags: github, beginners, gettingstarted, tutorial
Published: 2019-10-28 12:43:29

Let’s start with the basics.

[GitHub](https://github.com/) is a software development platform that lets you host and develop your code, manage projects, and collaborate with other developers. Your repository (repo) is the place where your project lives. GitHub allows repos to be public, where everyone can view or access the code, or private, where only the repo owner and the collaborators have access to the code. 

Normally, if you want to use a private repo in GitHub, you need to have a paid subscription, but **in SashiDo every app comes with a private repo**, created by us, so you don’t need to pay additional fees. [How cool is that :)] 

If you are new to GitHub, it’s important to understand the key concepts behind it and how our integration works in order to fully take advantage of all its benefits.

When you create an app in SashiDo, we automatically create a private GitHub repo for your app and Cloud Code. When you connect your GitHub account with SashiDo you will receive an email from GitHub saying that @parsegroundapps [[this is us]](https://blog.sashido.io/our-big-things-to-announce/) has invited you to collaborate on the parsegroundapps/pg-app-xxxxxxxxxxxxxxx repository. Don’t forget to click “View Invitation” in your email and then accept the invitation. 

When you click to activate your cloud code your repo will look like this: 

![Simple repository in SashiDo](https://media-blog.sashido.io/content/images/2017/11/Screen-Shot-2017-11-02-at-5-55-46-PM.png)


(Note that if you only see readme.md in your repo, this means that you haven’t activated your cloud code from SashiDo dashboard yet)

You can see two folders - **cloud** and **public**. It is important not to rename these two as they are prerequisites for your app to work in SashiDo. 

* Your **cloud folder** is where you have to put your Cloud Code
* Your **public folder** is where you can host your static files (html, css, js files, images etc.) [Yes, you can use SashiDo to host your website too.](https://blog.sashido.io/static-web-hosting-with-sashido/) 


The next step is to make sure you understand [how GitHub flow works](https://guides.github.com/introduction/flow/). Sooner or later you will need to develop new features or do code changes without causing downtime for your app, so make sure you are familiar with [branches and how to create them](https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/). 

* You can use as many development branches as you need in order to organize your development process. Our recommendation is to use at least one. 
* As for your master branch - this is your “official” codebase and where your cloud code is built from. Every time you commit changes to the master branch you trigger a deploy in SashiDo! This means that **if you’re not careful and commit buggy changes in your master branch this will immediately affect your app customers**. 

Other useful tutorials you’ll need to check out if you’re not familiar with GitHub are [Mastering Issues](https://guides.github.com/features/issues/) and [How to document your projects](https://guides.github.com/features/wikis/). 

There’s no real fun in developing code by yourself so if you want colleagues of yours to be able to do changes in your code - you need to add them as collaborators. This simply can be done through your SashiDo dashboard - just add them as app collaborators and they will receive an invitation to the app repository through GitHub. 

Now you’ve mastered the basics of GitHub and you’re ready to work on your app. 
You can [check this video if you need more information about Cloud Code](https://www.youtube.com/watch?v=Wm8wv3biWkc) or you may continue with this [tutorial on Advanced Cloud Code integration on SashiDo](https://blog.sashido.io/github-integration-of-advanced-cloud-code-part-1/). 

Happy Coding!