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

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

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