commit using Git Gui:
1. know the difference between 'source_root' and 'work_root', -_-
2. finish 'c_push'
3. change the way that extract args are passed to command handler