Skip to main content

GIT And GIT Hub: Understanding It In Layman's Terms

My Happy 'Git' Face


FINALLY Getting To Understand Git & Git Hub

For almost a year I have been trying to understand the crazy world of Git and Git Hub.  To my amazement, not very many people could explain it to me in a way that made sense.  Then along came Maestro Marco... he was able to explain it in a way that was simple and easy to understand.

First things first.

What is Git?  


The proper definition is that Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.  (This definition is taken from the Git website)

What is Git in layman's terms?

Any directory on my computer can be tracked by GIT.  Any change I make to a directory or it's sub-directories is maintained by GIT.  I choose which directories I want GIT to track.  GIT will manage all changes I make to those directories. 

I put all of my project files in one directory, I tell GIT to track that directory, and any change I  make will be managed by GIT

Git does NOT track photos/images/sounds/media.

Git will store, restore, and share those files, when instructed to, to Git Hub (which allows people to work as a group in the same documents of a project).  

Where does Git put this backup?

It is called a repository.  Git makes a repository (it's a database) on my local computer.  Each directory tracked by Git has it's own repository.  Git will keep a record of all the changes that are made to the directories Git is tracking in the repository.

Let's say I have a directory called "Pina_Inc" that I am tracking.

It would look something like this: 

Pina_Inc.  -----> My current local directory
          Business-Contacts.txt   -----> file in the Pina Inc directory
          Equipment.txt   --------------> file in the Pina Inc directory
          Website.html -----------------> file in the Pina Inc directory
           Costs.xlsx --------------------> file in the Pina Inc directory
           Profits.xlsx -------------------> file in the Pina Inc directory
           .git  ---------------------------> hidden git directory (this holds the local git repository)


Let's then say that I made some changes to the Website.html file.  Once I save that file, I will need to add it to my GIT Staging area.  From there, when I issue a 'git commit' command, GIT will update my local repository will the new changes.  

The way I communicate with Git is through my command window

Here is a link to a post on commands for Git

What is Git Hub?

Again, the proper definition is that Git Hub is a code hosting platform for collaboration and version control.  Git Hub lets you (and others) work together on projects.  (This definition is taken from the w3schools.com website).

What is Git Hub in layman's terms?

Git Hub is Git but on a server instead of a local computer.  It is a web based service that also keeps a repository (backup database) of the directories (and files) you send it.  This way, one person or a team of people can work on those files at the same time, and save them to the Git Hub repository.  Git Hub is a great way to allow people to work on the same project (a project usually consists of many files).  As users type 'git push', they are synching their local Git repository to the Git Hub repository.


In Summary: 

Basically, Git and Git Hub work together.  Git is installed on your local computer and keeps a backup (repository) of your tracked directory on your computer, and Git Hub keeps a backup (repository) on the Git Hub Server. 


Check out my next post, where I write about the different areas GIT works in.


Follow me as I learn to build my website bit by bit!    IronTreeDev.com







  








Comments

Popular posts from this blog

XPATH and XPATH Expressions In XMLLINT

XPATH And XPATH Expressions Earlier, I told you about xmllint and xmllint for html files .  Let's say you just want to parse the <span> tags within your html file or just your <span lang="el"> tags? Enter:  Xpath. Xpath is yet another option available within the xmllint language. Remember, an Xpath is used to navigate through elements and attributes in xml and html documents.  Xpath uses Xpath Expressions to select nodes or node sets within a document. Example 1 .  Looking for all of the <span> tags within an html document. xmllint -- html -- xpath " // span" StedmanLesson10.html xmllint = This tells the command line that we are going to be using the xmllint language. space = because we always have space in between commands -- = Remember, these are the two hyphen-minus characters that we need to tell the command line that we are going to use an xmllint option. html = This is the xmllint option we want to

Back To The Basics

Click photo above to see photo clearly  It's Been A LOOONG Minute since I have coded!!   Even so, I decided to give JavaScript another try.  I always seem to do good and then when I get to this one area, I always seem to hit a brick wall.  Well....nothing like getting back up and trying again right?   I decided to try Rithm School's online JavaScript Fundamentals FREE course .  I have never joined their school but their free courses tend to explain things in a way my brain understands it.  💁 To let you know how much I have forgotten in the coding world, I couldn't even remember how to write the basic commands for an HTML document! Yesterday I started the fundamentals free course and I am so glad that I did.  Because of time, I only made it through the JavaScript History and Setup chapter, but that chapter was enough to get my memory flowing again!   It started to feel familiar and I quickly remembered why I enjoyed coding so much.  Yesterday and this morning, I just erased

GIT Commands: Pull, Add, Commit, Push.....and sometimes Revert

Pull, Add, Commit, Push ...... then Repeat We talked about GIT, GIT Hub , and the three different areas GIT works in.  Now it is time to talk about some of the most used GIT commands.   I am currently working with a team on a project called Stedman.  We are all using the GIT Hub server to track our work as we make changes to the files within the Stedman project.   Many changes can be made by other members of the team, from the time I sign off to the time I sign back on.  How do I get the changes they made to a file I need to work on, onto my computer? ENTER GIT COMMANDS : 1.  The first thing I do is goto my command window on my computer and navigate to the directory where the file I want to work in is located (this will be a directory that is being tracked by GIT).   *If you need a quick refresher:  cd file_name   will take you through each of your directories until you reach your desired location.  Issuing an  ls   command will list the files (sub-di