When we have the need to get code from a Github repository on Oracle Linux we can use the git command. The git command is not by default installed on your Oracle Linux instance when you do a basic installation however it is available in the standard Oracle Linux YUM repository so you can install it using the yum command.
The below command will ensure that git will install without prompting the you to confirm you really want to install git
yum -y install git
Now that we have ensured we have install git we can use it to download code from github. For example, we want to have the Open Oracle Public Cloud API library which is hosted on github. In case you just want to download the master branch from the project hosted at github you have to check the main URL of the project, in our example case this URL is https://github.com/louwersj/OPC_API_LIB which means we can download (clone) the repository by making use of the URL https://github.com/louwersj/OPC_API_LIB.git which is exactly only the addition of .git to the URL. The below example shows the effect of a full git clone command
[root@a0d544 test]# git clone https://github.com/louwersj/OPC_API_LIB.git Initialized empty Git repository in /tmp/test/OPC_API_LIB/.git/ remote: Counting objects: 68, done. remote: Compressing objects: 100% (52/52), done. remote: Total 68 (delta 30), reused 0 (delta 0), pack-reused 11 Unpacking objects: 100% (68/68), done. [root@a0d544 test]#
The above example shows how to download (clone) a repository master which should contain the latest stable release (in most cases). However, the concept of branches is used within Git and Github which provides the option to have "working versions (branches) of a project which might differentiate from the stable (master) branch.
The below image shows a simple example where the master branch is forked and a "feature" branch is created which is developed upon while keeping the master branch clean.
In this case the git clone command is somewhat different from the example shown above. For example, if we would have a feature branch in the Open Oracle Public Cloud API library (which it has not) the command would like the one shown below;
git clone -b feature --single-branch https://github.com/louwersj/OPC_API_LIB.git
This will ensure that you get the feature branch of the Open Oracle Public Cloud API library and not the master branch which is the default branch that will be downloaded when invoking the git clone command.