Uploading your project to GitHub gives you the feature-rich tools and collaboration needed to elevate your project to the next level. Not to mention, it's also pretty exciting. If you're doing this for the first time, you have a few options when uploading your project to GitHub. This course will guide you through the necessary steps to upload a local project to be hosted on GitHub.
I know some people like to get straight to the point while others like more information. For those who like more information, be sure to check out the drop-downs like this one :arrow_down:
Why move to GitHub?
### Why move to GitHub?
You may be wondering what this GitHub thing is all about and why you should use it. If this sounds like you, here are a few reasons to make GitHub your project's new home:
- **Version control** — Everything on GitHub is stored in [Git](http://git-scm.com), the best version control system around. Version control allows you to experiment and make mistakes in code without messing up your final product.
- **Keep your code in one place** — Whether you work on multiple computers or just want to get some important projects off your computer, GitHub is the perfect place to store your projects online.
- **Collaboration** — Once your code is on GitHub, you can invite others to work on your code with you, share it with the world, or send a link to a friend to help you debug a problem.
Where is your project?
Most users find it is easiest to upload a project that is already located on their local machine, so the goal of this first step is to make a local copy of the repository. First, let's make sure this course is going to give you the right steps:
Is your project on another version control system, such as Mercurial, Subversion, or another Git platform?
### Moving your project from another version control system
If you are moving your project from another version control system, the steps are a bit different that uploading your project from your local machine. Because of this, we have a dedicated course for migrating your project to GitHub.
If you are moving your project from Mercurial, Subversion, or another Git platform, join the [Migrating your project to GitHub](https://lab.github.com/courses/migrating-your-repository-to-github) course to migrate your project to GitHub.
Is your project using version control?
### Is your project using version control
If you aren't sure whether or not your code is under version control, it probably isn't. However, here are a few tests you can apply to know for certain:
- Can you view a history of the changes you have made?
- Can you easily roll back to a previous version of your project?
- Are you required to provide "messages" or "commits" when you make changes?
If none of these are true, your project isn't using version control.
:keyboard: Activity: Exporting your project
Choose the drop-down below that best fits your current situation.
Your project is already on your local machine
### Your project is already on your local machine
:sparkles: Terrific! @Lo-Tsz-Yuk since you already have the project locally, you are _almost_ ready to move it to GitHub.
To confirm: You have a project directory on your computer and you want to save it on GitHub.
- **If this is correct**, close this issue to signal you are finished with this step. I will open a new issue to show you how to optimize your repository for Git operations.
- **If this is incorrect**, please use the next drop-down to learn how to export your project to your local machine or join the [Migrating your project to GitHub](https://lab.github.com/courses/migrating-your-repository-to-github) course to migrate your project to GitHub.
Your project is on a non-version controlled site, such as CodePen or Glitch
### General instructions
There are many platforms that allow users to create and store projects. We can't cover them all, but we will do our best to cover the more common examples. First, let's cover general instructions:
- Export your project using the tools available on the current site. This will usually happen via a .zip, or some other compressed format, downloaded directly to your local machine
- Save the .zip file
- Extract the .zip file
Now let's talk about specific platforms:
#### Exporting from CodePen
From the main page of your CodePen project:
1. Click the **Export** button in the bottom right corner
2. Save the exported .zip file in your local directory
3. Extract the .zip file
#### Exporting from Glitch
From your Glitch project page:
1. Click the dropdown next to your project name in the top right corner
1. Select **Advanced Options**
1. Select **Download Project**
1. Save the exported file in your local directory
1. Extract the file
1. Rename the `app` folder as desired
Ready to move on?
Close this issue to signal you are finished with this step. I will open a new issue to show you how to optimize your repository for Git operations. :tada:
Watch below for my response
:robot: I'm waiting for you to close the issue before moving on.
Sometimes I respond too fast for the page to update! If you perform an expected action and don't see a response from me, wait a few seconds and refresh the page for your next steps.
Step 1: Planning the move
Uploading your project to GitHub gives you the feature-rich tools and collaboration needed to elevate your project to the next level. Not to mention, it's also pretty exciting. If you're doing this for the first time, you have a few options when uploading your project to GitHub. This course will guide you through the necessary steps to upload a local project to be hosted on GitHub.
I know some people like to get straight to the point while others like more information. For those who like more information, be sure to check out the drop-downs like this one :arrow_down:
Why move to GitHub?
### Why move to GitHub? You may be wondering what this GitHub thing is all about and why you should use it. If this sounds like you, here are a few reasons to make GitHub your project's new home: - **Version control** — Everything on GitHub is stored in [Git](http://git-scm.com), the best version control system around. Version control allows you to experiment and make mistakes in code without messing up your final product. - **Keep your code in one place** — Whether you work on multiple computers or just want to get some important projects off your computer, GitHub is the perfect place to store your projects online. - **Collaboration** — Once your code is on GitHub, you can invite others to work on your code with you, share it with the world, or send a link to a friend to help you debug a problem.
Where is your project?
Most users find it is easiest to upload a project that is already located on their local machine, so the goal of this first step is to make a local copy of the repository. First, let's make sure this course is going to give you the right steps:
Is your project on another version control system, such as Mercurial, Subversion, or another Git platform?
### Moving your project from another version control system If you are moving your project from another version control system, the steps are a bit different that uploading your project from your local machine. Because of this, we have a dedicated course for migrating your project to GitHub. If you are moving your project from Mercurial, Subversion, or another Git platform, join the [Migrating your project to GitHub](https://lab.github.com/courses/migrating-your-repository-to-github) course to migrate your project to GitHub.
Is your project using version control?
### Is your project using version control If you aren't sure whether or not your code is under version control, it probably isn't. However, here are a few tests you can apply to know for certain: - Can you view a history of the changes you have made? - Can you easily roll back to a previous version of your project? - Are you required to provide "messages" or "commits" when you make changes? If none of these are true, your project isn't using version control.
:keyboard: Activity: Exporting your project
Choose the drop-down below that best fits your current situation.
Your project is already on your local machine
### Your project is already on your local machine :sparkles: Terrific! @Lo-Tsz-Yuk since you already have the project locally, you are _almost_ ready to move it to GitHub. To confirm: You have a project directory on your computer and you want to save it on GitHub. - **If this is correct**, close this issue to signal you are finished with this step. I will open a new issue to show you how to optimize your repository for Git operations. - **If this is incorrect**, please use the next drop-down to learn how to export your project to your local machine or join the [Migrating your project to GitHub](https://lab.github.com/courses/migrating-your-repository-to-github) course to migrate your project to GitHub.
Your project is on a non-version controlled site, such as CodePen or Glitch
### General instructions There are many platforms that allow users to create and store projects. We can't cover them all, but we will do our best to cover the more common examples. First, let's cover general instructions: - Export your project using the tools available on the current site. This will usually happen via a .zip, or some other compressed format, downloaded directly to your local machine - Save the .zip file - Extract the .zip file Now let's talk about specific platforms: #### Exporting from CodePen From the main page of your CodePen project: 1. Click the **Export** button in the bottom right corner 2. Save the exported .zip file in your local directory 3. Extract the .zip file #### Exporting from Glitch From your Glitch project page: 1. Click the dropdown next to your project name in the top right corner 1. Select **Advanced Options** 1. Select **Download Project** 1. Save the exported file in your local directory 1. Extract the file 1. Rename the `app` folder as desired
Ready to move on?
Close this issue to signal you are finished with this step. I will open a new issue to show you how to optimize your repository for Git operations. :tada:
Watch below for my response