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 ...

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...

DevOps Skills Part 2: Talking Like a Toddler

http colon whack whack dub-dub-dub dot google dot com What in the world did I just say?   I sound like a toddler talking in words and sounds that make no sense at all! πŸ™ŠThe funny thing is, if you talk to a person involved with DevOps, they will know and understand exactly what you said! 😲 whack = "/"  That forward slash symbol on a Mac key board that is usually placed under the ? ...... that is referred to as a "whack".  Think of a duck quacking who forgot to sound the "q". πŸ™ˆ That forward slash (/) "whack" is the path separator that will eventually lead to the file on your web server.  Let's say the url is www.cloviscorp.com/collegium/grammar/index.html , then the browser will first find the webserver (in this case:  www.cloviscorp.com).  It then starts in that server's filesystem at the docroot (/var/html/www) and then continuing through to /collegium/grammar , where the file index.html resides (at the webserver's f...