# Creating and Cloning a Repository
## Setting up a new repository
Lets look at how you can set up a new remote repository on Gitlab/Github, so you are ready to start committing your code. the easist way is to create a new repository in Gitlab/Github, clone it locally then start adding your files to it. We'll look at this method first.
Using Gitlab
#### Gitlab
- Open Gitlab in your browser and log in
- Now click **new project** on the right hand side of the interface
![Create a New Project](./img/create-new-project.png)
- You'll now be asked what template do you want to use, I recommend a blank project unless your use case fits with the other options
![Select Template for Repo](./img/select-project-type.png)
- Now it's time to give your project a name. You can also set if the project is public or private at this time (although this can be changed later)
![Setup your project](./img/setup-project.png)
- Once done click **create project** at the bottom of the page
- You'll be taken to the next page which shows you a bare bones repository. (It should have a README.md file if you didn't change the setting to create one)
![New repository is now created](./img/project-created.png)
#### Get the project URL
- The next step is to get the URL for the git repository you want to clone. You can do this by going to the green **code** button and clicking it.
- If you intend to commit code back select the SSH URL.
![Get the SSH URL](./img/clone-repo.png)
> If you want to just pull the code down to use locally you can use HTTPS, this is especially useful if you don't have permissions on the repository.
### Clone the new repository
Now you have the URL you can go back to your terminal and clone the repository.
```bash
git clone git@gitlab.com:ric_harvey/demo-project.git
```
you are now ready to get going committing code! Head over to the [commit.md](./commit.md) file for information on what to do next.
### Adding existing files to a git repository
Now if you have already been working hard and you have files already you can import these files. By following the following instructions. You'll still need that SSH URL you copied.
```bash
cd existing_directory
git init
git remote add origin https://gitlab.com/ric_harvey/demo-project.git
git branch -M main
git add .
git commit -m "first commit"
git push -uf origin main
```
This will now sync all your your files up to the remote repository.
---
##### Follow me for more guides
[](https://awscommunity.social/@Ric) [](https://www.linkedin.com/in/richarvey/)