It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Staged vs Unstaged

Andy Tarabocchia Dec 15, 2015

What are the differences between files in Staged and Unstaged and what does it mean?

4 answers

1 accepted

41 votes
Answer accepted
Johannes Kilian Dec 15, 2015 • edited Nov 07, 2018

The staging area (aka index) is a container where git collects all changes which will be part of the next commit.

If you are editing a versioned file on your local machine, git recognizes that your file is modified - but it will not be automatically part of your next commit and is therfore unstaged. Staging the file will put the file into the staging area (index). The next git commit will transfer all items from staging area into your repository.

What is this good for? Imagine you are in hectic and you have to fix a few bugs in your software. Usually you edit your files and fix simultaneously several bugs. After this you have a lot of unstaged but modified files. On the other hand you want to have "clean" commits: each commit should be definitively related to a single bug only. Using the staging area you could collect all changes referring to a single bug and make a clean commit - in your next step you stage all changes for the next bug and make the next clean commit ...

You could not only stage complete files - but also "hunks" (parts of a file) and even single lines from a modified file (sourcetree is a great tool for preparing the staging area with great facilities for staging files, hunks or lines).

Resumee: Editing a versioned file makes the file modified, but unstaged. Staging the file/hunk/line adds the change to the staging area. The changes within the staging area are part of the next commit. The commit transfers all changes from staging area into your repository. The staging area allows you to collect all changes to get a "clean" commit.

Hope this was clear

 

See:

Hi,

 

This is very clean and helpful comments.

Thanks a lot.

 

David Villacrés Jun 23, 2017

Very "clean" explanation. :)

Thanks.

saad furqan Jul 04, 2018

Very good explanation :)

Thanks !! 

John William Schmid Nov 07, 2018

Good answer, but you wrote "defintifly".. I think you mean definitively.. Just saying.. please delete this after you fix =D

Johannes Kilian Nov 07, 2018

Voila ... after you staged this orthographical proposal, I commited this to my original post :-)

As I'm not a native english speaker, thanks for your hint!

Frank Rojas I'm New Here Apr 29, 2019

Answer still working :-) after quite many years.

3 votes
Andy Tarabocchia Dec 16, 2015

This helped! Thank you so much for the explanation and links!

Johannes Kilian Dec 16, 2015

Glad I could help you. You might mark my answer as accepted as well ....

Jinesh Kumat Nov 28, 2016

Lai bhari ! 

0 votes
Vladimir Kolesar Apr 18, 2018

Great explanation ! Thanks a los :)

0 votes
Angélica Fuentes Sep 06, 2018

Thanks!!!  =)

Suggest an answer

Log in or Sign up to answer
This widget could not be displayed.
This widget could not be displayed.
Community showcase
Published in Sourcetree

Sourcetree for Windows - CVE-2019-11582 - Remote Code Execution vulnerability

A vulnerability has been published today in regards to Sourcetree for Windows.  The goal of this article is to give you a summary of information we have gathered from Atlassian Community as a st...

365 views 0 9
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you