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

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:  The Complete JavaScript Course 2025: From Zero to Expert! by Jonas Schmedtmann.   So far, he seems 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 and...

XMLLINT for HTML: Cleaning up the HTML Code

Getting That MESS Cleaned Up! In an earlier post, we learned about xmllint .  Today, I want to talk about cleaning up the code for an HTML file. When we have an xml file, xmllint is used.  For an html file, we use the following command in the command line: xmllint --html <filename goes here>         Here is an actual command on my command line for running xmllint for my StedmanLesson10.html file. In the photo above, you see that I start off the command with xmllint. The next thing is a space and then a --html.  The two -- are two hyphen-minus characters that are used to specify long options (Basically there are options that can be used within xmllint.  The two hyphen-minus characters are saying an option is going to be used.  In this case, that option will be html - because we are going to do an xmllint on an html file). After that you see a space and then the name of the html file I want t...