title: gitpython: Command syntax for git commit
body: <p>with using <strong>gitpython</strong> module, I am writing python script to check <em>git diff --> git add</em> of all modified files one by one. At the end I want to commit all these changes, but I didn't find the exact syntax of the command.</p>
  
  <p>I'm trying with below code, 'git add' works perfectly but 'git commit' gives error.</p>
  
  <pre><code>import git
  
  repo = git.Repo(os.getcwd())
  files = repo.git.diff(None, name_only=True)
  for f in files.split('\n'):
      show_diff(f)
      repo.git.add(f)
  
  repo.git.commit('test commit', author='sunilt@xxx.com')
  </code></pre>
  
  <p>Here is the error I'm seeing, it seems the something is missing in cmd arguments.</p>
  
  <pre><code>In [10]: repo.git.commit("test commit", author="sunilt@xxx.com")
  ---------------------------------------------------------------------------
  GitCommandError                           Traceback (most recent call last)
  &lt;ipython-input-10-b4505b7c53c2&gt; in &lt;module&gt;()
  ----&gt; 1 repo.git.commit("test commit", author="sunil.thorat@nuance.com")
  
  c:\python27\lib\site-packages\git\cmd.pyc in &lt;lambda&gt;(*args, **kwargs)
      421         if name[0] == '_':
      422             return LazyMixin.__getattr__(self, name)
  --&gt; 423         return lambda *args, **kwargs: self._call_process(name,    *args, **kwargs)
      424
      425     def set_persistent_git_options(self, **kwargs):
  
  c:\python27\lib\site-packages\git\cmd.pyc in _call_process(self, method, *args, **kwargs)
      866         call.extend(args)
      867
  --&gt; 868         return self.execute(call, **_kwargs)
      869
      870     def _parse_object_header(self, header_line):
  
  c:\python27\lib\site-packages\git\cmd.pyc in execute(self, command, istream, with_extended_output, with_exceptions, as_process, output_stream, stdout_as_string, kill_after_timeout, with_stdout, universal_newlines, shell, **subprocess_kwargs)
      684
      685         if with_exceptions and status != 0:
  --&gt; 686             raise GitCommandError(command, status, stderr_value, stdout_value)
      687
      688         if isinstance(stdout_value, bytes) and stdout_as_string:  # could also be output_stream
  
  GitCommandError: Cmd('git') failed due to: exit code(1)
    cmdline: git commit --author=sunilt@xxx.com test commit
    stderr: 'error: pathspec 'test commit' did not match any file(s) known to      git.'
  </code></pre>