This week in class we did talked about Git, which it is a great tool in Free Open Source Software world. We did watched tutorial videos about what is Git, and how to work with the Git. Git like most of the open source software’s is free. It is a distributed version control system, which it is designed to handle with speed and efficiency every kind of projects from small to very large scale. We did watch the videos that why it was so important to use a version control system, and why it is better to learn and use the Git as a distributed version control system.
Git is build to work on Linux basically but it can run also on Mac OS X, Windows, and other operating systems. We can clone the source code of a project to our local hard driver with Git. With Git we can make much faster most operations, and it can allow us to work offline. Working offline it is very convenient thing about a developer when there is not any network access. Before going offline we can ‘fetch’ all the server data to do logs, merges, and comparison that are on server only. Another feature of the Git is that we can have the copy of everyone’s branches that are working with us in our Git repository also. This it means that we do not mess up our own material. Git is easy to learn, and some of the commands for the Git are:
- add Add file contents to the index
- bisect Find by binary search the change that introduced a bug
- branch List, create, or delete branches
- checkout Checkout a branch or paths to the working tree
- clone Clone a repository into a new directory
- commit Record changes to the repository
- diff Show changes to between commits, commit and working tree, etc
- fetch Download objects and refs from another repository
- grep Print lines matching a pattern
- init Create an empty git repository or reinitialize an existing one
- log Show commit logs
- merge Join two or more development histories together
- mv Move or rename a file, a directory, or a symlink
- pull Fetch from and more merge with another repository or a local branch
- push Update remote refs along with associated objects
- rebase Forward-port local commits to the updated upstream head
- reset Reset current HEAD to the specified state
- rm Remove files from the working tree and from the index
- show Show various types of objects
- status Show the working tree status
- tag Create, list, delete or verify a tag object signed with GPG
In class we had to do an exercise about how to work on git. We did install the git to our Linux OS, and the other part of the exercise it was how to config the git and how to create RSA key-pair. After creating the RSA key-pair we had to connect with our groups branches. Many of the students had success on the connection but for me and some of other students had issues on connection. I have spent time with this issue but I didn’t find the solution for it. The good thing is that even though I didn’t connect with my class branch, I did have the opportunity to test Git differently. Git has an option of the “Git Quick Start” which it gives the chance to the new beginners to test it how works on cloning and how to create a patch. Also in “Git Quick Start” is another option about how to create and commit. I did try all this option and I did love the way how the git was working and how fast and easy it was. Because I did like it, I did use git in another class “Operating System” to clone the source code of the Linux kernel and the Linux utilities. I believe that I will use the Git more frequently in the future not because of the CS401 but because it will make my work more easy.
From the blog E. Lekdushi CS401 by elekdushi and used with permission of the author. All other rights reserved by the author.