# My way of version control

Every developer has git in his/her toolbox. I love using git. Sometimes, I feel like coding just so that I can try some git commands. It's fun and when I mess up, it's super exciting. In this post, I want to share my way of using git.

## So, the basics!


```
git add *
``` 
Whenever I make any changes and want them to reflect, I stage them.
```
git commit -m <message>
```
After all changes, I commit them
```
git push origin head
```
And when I am very sure that I am done, I push them to my remote repository 

There are a few terms to be familiarized.

#### Origin - It is the remote repository we would have created in our profile.
#### Upstream - It is the repo which we have forked to contribute
#### Remotes - This refers to the repository origin and upstreams related to the project as remotes
#### Forks - The copy of the upstream we make, usually called origin
#### head - The tip of the branch, or the current branch
#### master/main


