- A Cloud Guru
Cloning a Remote GitHub Repository
Working with remote Git repositories is a key concept in distributed source control. Github is one of the most popular public repository sites and you will find yourself working with it regularly. At the completion of this activity, the student will understand how to clone a remote repository from GitHub for use locally.
Table of Contents
Create Local Repository Location
The student is asked to create a world read/write/executable directory called /mnt/baserepo to contain a cloned repository. This can be accomplished when logged in as the 'cloud_user' with the following commands:
sudo mkdir /mnt/baserepo sudo chmod 777 /mnt/baserepo OR sudo chmod a+rwx /mnt/baserepo
Clone Remote Repository to Local Location
You are asked to clone a remote repository at https://github.com/linuxacademy/content-source-control-git.git into the recently created /mnt/baserepo directory. This cloning can be completed with the command:
cd /mnt/baserepo git clone https://github.com/linuxacademy/content-source-control-git.git .
Note: In this case the '.' is very important since it will clone the repo contents in the /mnt/baserepo directory. Without it, it would clone the repo in a new directory matching the repository name.
Clones of LOCAL Repository Made for Service Account
The student is asked to make a clone of the repository, but use the LOCAL repository as the repository to base the user clone on. This is done by adding a special flag to the clones so it points to the local origination rather than the remote. This is done via:
mkdir experiment cd experiment git clone --local /mnt/baserepo .
NOTE: It is important to use the '.' in the cloning so that a new subdirectory is not created.
What's a lab?
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.