files between states described above is done by `git add` and `git reset`
commands.
+## Command `git add`
+To stage patches in file (it means to take untracked or unstaged patches and
+mark them as staged):
+```
+git add -p FILENAME
+```
+
+To stage all the patches in file use:
+```
+git add FILENAME
+```
+
+## Command `git reset`
+To remove patches from staged state (remove from staging area is also used):
+```
+git reset -p FILENAME
+```
+
+Or again for all the patches in file:
+```
+git reset FILE
+```
+
+## Command `git commit`
When sure that staged changes should be commited to the history, use `git
commit -m'COMMIT MSG'`. For commit messages, some rules are good to keep in
mind [1][]:
- `git diff --cached`
## Commit
-- `git add FILE`
- `git add -p FILE`
-- `git reset FILE`
+- `git add FILE`
- `git reset -p FILE`
+- `git reset FILE`
- `git commit -m'COMMIT MSG'`
- `git commit`