Suppose I made changes in 7 files and I want to commit 3 files of them, so should I have to stash the other 4 files or not for successful commit? I am new to smartgit and most of the times fumble and get errors while committing my changes, so I figured maybe this is the cause?
If you aren't changing branches, you don't have to stash. While committing, just commit/select only those 3 files you have to commit. Then Push these files upstream. Your remaining 4 files will stay intact without getting committed or pushed.