Linux_logo_errorbits.comHow to use GIT in Linux

GIT is a revision control system that allows multiple contributors to work on same projects/files. Is also useful if you have more servers/vms/workstation that you manage and you want to deploy “recipes”/scripts/configurations on them. With GIT, you work locally, push the changes to the repository server and then get your files from any location you want. GIT tracks the changes made to the files and if a config is not working it can be reverted in no time.

To start learning GIT, I recommend  using GitLab, is free, very versatile and your repository will be in private mode. You can also try GitHub, free version is in public mode (!!! Do not store passwords or sensitive information in your files, if you use repositories that are in public mode !!!).

Preparing GIT environment:

Open Linux Terminal in ROOT mode:

sudo bash

Install GIT:

yum install git (CentOS)

apt-get install git (Ubuntu)

Install xclip (useful to copy file contents to clipboard):

yum install xclip (CentOS)

apt-get install xclip (Ubuntu)

Create and activate an account on GitLab

Add GIT username:

git config –global user.name “USERNAME”

git config –global user.name (verify your username)

Add GIT e-mail address:

git config –global user.email “your_email@domain.com”

git config –global user.email (verify e-mail address)

git config –global –list (verify username and e-mail)

Check if your system has a SSH Key so you can link it with your GitLab account:

 cat ~/.ssh/id_rsa.pub (if it’s displayed something starting with ssh-rsa, you don’t have to follow the next steps about key creation)

Creating SSH key:

ssh-keygen -t rsa -C “your_email@domain.com” -b 4096

Changing SSH key (optional):

ssh-keygen -p <keyname>

Copy key to clipboard with xclip:

xclip -sel clip < ~/.ssh/id_rsa.pub

Go to your Profile settings in GitLab -> SSH Keys and paste the contents of the clipboard.

Do a checkout on your master branch:

git checkout master

Download the latest changes:

git pull REMOTE NAME-OF-BRANCH -u

Create a new branch:

git checkout -b NAME-OF-BRANCH

Work on the branch:

git checkout NAME-OF-BRANCH

View the changes that you have made:

git status

Commit your changes:

git add file_name.extension

git commit -m “short description”

Send changes to your gitlab.com:

git push REMOTE NAME-OF-BRANCH

After you have made all the above changes, you can use short commands, git pull to get the updates and git push to upload the updates.


Useful links:

GIT Commands

Linux Directory Map / Structure

Introduction to Linux

Using Help in Linux

Download and install Oracle VirtualBox

How to install CentOS on Oracle VirtualBox