My Situation
============

I want to get new and modified files and then do something such as `compress`.Out of consideration to `efficacy`, I can not search all files every time. So `git` comes into my mind.

I know `git status` can help me to get all changed files and then I can filter them by myself.But there is a problem.Let me hold an example.

I have a file named `text.txt` whose content is `Hello`. Then I modified its content to `Hello World`.Now I execute `git add test.txt`. Finally I recover its content to `Hello`.

* If this time I also execute`git add test.txt`, then `git status` gives me nothing.It's right because in fact the file not modified.
* If this time I do not, the `git status` shows

> 
> Changes to be committed:
>  modified: test.txt
> 
> 
> Changes not staged for commit:
>  modified: test.txt
> 
> 
> 

My Question
===========

Is there any way to do such thing by `git`?

Edit
====

Maybe `git` does not work in this situation.So is there other way?