Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Development Tools Git Basics Working With Remote Repositories Pushing and Pulling

Farnoosh Johnson
Farnoosh Johnson
7,887 Points

when we make changes in a file, what is a different between staging and just commit the changes with -a -m "changes"

what is a different between: staging: $ git add file1 $ git commit -m "I made some changes"

and

$git commit -a -m "I made some changes"

1 Answer

Kevin Korte
Kevin Korte
28,148 Points

When a file is first created, it is "untracked" by git. Git is aware of it, but it's never been checked in before.

So git add file1 $ git commit -m "I made some changes", first adds the file as the new file as tracked, and than commits it.

$git commit -a -m "I made some changes" is only going to grab modified files for the commit. Meaning files that have already been added to git before, and thus have a history in the git repo.

You can check this with git status. It will tell you which files are modified, and which are untracked. A shorthand to track all currently untracked files is git add -A (with a capital A).

So if you want to do a sweeping wide commit to cover everything it's git add -A, git commit -m "I made changes"