2015-09-11 14:41:01 +05:30
# Start using Git on the command line
2016-11-03 12:29:30 +05:30
If you want to start using Git and GitLab, make sure that you have created and/or signed into an account on GitLab.
2015-09-11 14:41:01 +05:30
## Open a shell
2016-11-03 12:29:30 +05:30
Depending on your operating system, you will need to use a shell of your preference. Here are some suggestions:
2015-09-11 14:41:01 +05:30
- [Terminal ](http://blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line ) on Mac OSX
- [GitBash ](https://msysgit.github.io ) on Windows
- [Linux Terminal ](http://www.howtogeek.com/140679/beginner-geek-how-to-start-using-the-linux-terminal/ ) on Linux
## Check if Git has already been installed
Git is usually preinstalled on Mac and Linux.
Type the following command and then press enter:
```
git --version
```
2016-11-03 12:29:30 +05:30
You should receive a message that will tell you which Git version you have on your computer. If you don’ t receive a "Git version" message, it means that you need to [download Git ](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git ).
2015-09-11 14:41:01 +05:30
If Git doesn't automatically download, there's an option on the website to [download manually ](https://git-scm.com/downloads ). Then follow the steps on the installation window.
2016-11-03 12:29:30 +05:30
After you are finished installing, open a new shell and type "git --version" again to verify that it was correctly installed.
2015-09-11 14:41:01 +05:30
## Add your Git username and set your email
2016-11-03 12:29:30 +05:30
It is important to configure your Git username and email address as every Git commit will use this information to identify you as the author.
2015-09-11 14:41:01 +05:30
On your shell, type the following command to add your username:
```
2016-11-03 12:29:30 +05:30
git config --global user.name "YOUR_USERNAME"
2015-09-11 14:41:01 +05:30
```
Then verify that you have the correct username:
```
git config --global user.name
```
To set your email address, type the following command:
```
2016-11-03 12:29:30 +05:30
git config --global user.email "your_email_address@example.com"
2015-09-11 14:41:01 +05:30
```
To verify that you entered your email correctly, type:
```
git config --global user.email
```
2016-11-03 12:29:30 +05:30
You'll need to do this only once as you are using the `--global` option. It tells Git to always use this information for anything you do on that system. If you want to override this with a different username or email address for specific projects, you can run the command without the `--global` option when you’ re in that project.
2015-09-11 14:41:01 +05:30
## Check your information
To view the information that you entered, type:
```
git config --global --list
```
2016-06-02 11:05:42 +05:30
## Basic Git commands
### Go to the master branch to pull the latest changes from there
```
git checkout master
```
### Download the latest changes in the project
This is for you to work on an up-to-date copy (it is important to do every time you work on a project), while you setup tracking branches.
```
git pull REMOTE NAME-OF-BRANCH -u
```
(REMOTE: origin) (NAME-OF-BRANCH: could be "master" or an existing branch)
### Create a branch
2016-11-03 12:29:30 +05:30
Spaces won't be recognized, so you will need to use a hyphen or underscore.
2016-06-02 11:05:42 +05:30
```
git checkout -b NAME-OF-BRANCH
```
### Work on a branch that has already been created
```
git checkout NAME-OF-BRANCH
```
### View the changes you've made
It's important to be aware of what's happening and what's the status of your changes.
```
git status
```
### Add changes to commit
You'll see your changes in red when you type "git status".
```
git add CHANGES IN RED
git commit -m "DESCRIBE THE INTENTION OF THE COMMIT"
```
### Send changes to gitlab.com
```
git push REMOTE NAME-OF-BRANCH
```
### Delete all changes in the Git repository, but leave unstaged things
```
git checkout .
```
### Delete all changes in the Git repository, including untracked files
```
git clean -f
```
### Merge created branch with master branch
You need to be in the created branch.
```
git checkout NAME-OF-BRANCH
git merge master
```
2016-09-13 17:45:13 +05:30
### Merge master branch with created branch
You need to be in the master branch.
```
git checkout master
git merge NAME-OF-BRANCH
```