# [[Cloning a remote repo with Git]]
The basic Git workflow consists of copying (or cloning) the project files (repository), making changes to those files, selecting which of your changes you want to sync, and then uploading the selected changes to the main project repository.
# Clone a repository
`git clone <url>`
# Modify files
Modify the files in whatever way you want (`cat` or by using a text editor)
### Check the status
`git status`
This will display whether there are any changes that Git detects that are ready for committing.
```shell
nic@sopirulino element % git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: packages/docs/versioned_docs/version-1.3/guides/script.md
no changes added to commit (use "git add" and/or "git commit -a")
```
# Stage changes/ Add changes to the commit
`git add *` (or replace `*` with the name of the file)
This will "stage" the modified files and add them to the next commit you do.
# Commit changes
`git commit -m 'Changed a bunch of things in sections 1 and 2'`
# Push changes back to the repository
`git push`