Week 4: Git great tool for a developer

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:

  1. add              Add file contents to the index
  2. bisect          Find by binary search the change that introduced a bug
  3. branch         List, create, or delete branches
  4. checkout     Checkout a branch or paths to the working tree
  5. clone            Clone a repository into a new directory
  6. commit        Record changes to the repository
  7. diff                Show changes to between commits, commit and working tree, etc
  8. fetch             Download objects and refs from another repository
  9. grep              Print lines matching a pattern
  10. init                Create an empty git repository or reinitialize an existing one
  11. log                 Show commit logs
  12. merge           Join two or more development histories together
  13. mv                 Move or rename a file, a directory, or a symlink
  14. pull                Fetch from and more merge with another repository or a local branch
  15. push              Update remote refs along with associated objects
  16. rebase           Forward-port local commits to the updated upstream head
  17. reset              Reset current HEAD to the specified state
  18. rm                  Remove files from the working tree and from the index
  19. show              Show various types of objects
  20. status             Show the working tree status
  21. 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.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: