Skip to main content

The 3 Areas of GIT












                                   
Working, Staging, and Repository

There are 3 areas that GIT works  in to track, process, and deploy the files it's been pointed to. 

1.  Working Area:  These are the files that I (the user) am working on in my local file system (on my local computer) that I have instructed GIT to track.  

I am currently working in the 'StedmanLesson14.html' file.  I went ahead and made some changes to this file.  GIT can always compare my 'working area' with it's local repo (repository) and know what files have changed at any time.  If I were to do a 'git status' command on this file (check out my post on GIT commands), GIT will me that the  'StedmanLesson14.html' file that is located on my local directory has been modified.

See the picture below:
NOTICE IN RED:  it says MODIFIED    Git is suggesting to (use a "git add" with the file name) add it to the staging area


2. Staging Area:  Once a file has been given the 'git add' command, that file is moved to the "Staging Area" (aka:  The Index).  These are files that have been modified and could be candidates for a 'git commit' (meaning it will be saved to my local repository-- of course, this information has not been sent to the GIT HUB repository yet).  Notice the picture below where Git tells me there are files in the staging area waiting to be committed.

This is what it looks like after the 'git add' command has been issued:

NOTICE IN GREEN: it still says MODIFIED but now it is in Green (above it says "changes to be committed)



3.  GIT Repository Area (aka: Git Repo):  The third area GIT works in is the GIT Repository Area.  This is GIT's "backup" database (aka: repository).  I mentioned earlier, there is a local repository for each tracked directory you have on your local computer.  However, the files that were modified on your local computer (and saved on your local GIT repository) should be pushed (synched), with the GIT HUB repository, so that others in your group can see them on the GIT HUB server.

I am working with a team on the same files in the Stedman project.  We are all doing our own local work on this same file, and using GIT HUB to track everyone's changes.  We all have GIT installed on each of our own local computers.  NOW the time has come to 'push' the changes I made on the StedmanLesson14.html to the GIT HUB Repository.  That way, GIT HUB Repository will match my local GIT repository.  This is the third area GIT works in.  GIT HUB Repository keeps track of all the changes made to the files, who made those changes, when they were made, etc.  Additionally, when someone from the team wants to work on that file, they will have the most current up do date changes.   (Don't forget to check out my post on GIT commands).


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


Photo by Sam Moghadam on Unsplash

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

SCP: Secure Copy Protocol

SCP = Secure Copy Protocol.  What is it and why is it important?   SCP provides a secure way to transfer files from one computer to another. For the project that I'm working on, I needed to SCP (send a copy) the XML files, as well as the image files, from my computer to my EC2 Instance (my web server).  Once done,  my teacher was be able to view my work via my website. Here are the steps to do this: 1.  Open two command windows (the program for my computer is called Terminal). 2.  Let's say the file I want to send is called "SallysFirstDate.xml" and it is located in the "tomy" folder.  Here is where that file lives: /Documents/path/tomy/SallysFirstDate.xml I need to first issue the command to "change directory"(cd) through each folder until I reach the folder that my file is located in.   It would look like this: cd /Documents THEN I need to "cd" again into the "path" folder: cd path THEN I need to "c