Gitiot is the one-click git commit GUI for non-techies.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


##Gitiot - The one-click git commit GUI for non-techies.

Gitiot is a really simple cross-platform GUI wrapper for the most utterly minimal useful subset of git's awesome power - i.e. one-button commit and push-to-master for people who want revision control but don't want to learn the command line.


###This Version

  • Version: 0.14
  • Release Date: 2011-04-26


You need to have the following installed to run this program:

  • Python 2.5+ (but not Python 3)
    • Note: On some Linux distros, you may need to install python-tk - just install it using your system's package manager. -
  • Git (POSIX) or Msysgit (Windows)
    • Note: If using Msysgit on Windows, you must select the "Run Git from the Windows Command Prompt" option under Adjusting your PATH environment during installation.

Otherwise, Gitiot has no additional dependencies.

###Using Gitiot

The easiest way to use is to save it inside the root folder of your project (*nix users, remember to set execute permissions). This way, the config file will Just Work.

Make some changes to your project files and then run You'll see a basic GUI window with a comment box and a Commit button.

Enter any comments on this commit into the comment box and push the Commit button to add your changed files, commit them to your local repository and, if applicable, push the commit out to the remote master.

Note: The default named remote is "origin". See Config, below, on how to change it.

###Configuring Gitiot

####Repository Directory

You might not want in the same folder as the project. In that case, you will need to open gitiot.config in a text editor and change this line:

repo_dir = /path/to/repository

replace /path/to/repository with the actual path to your repository.

####Named Remote

Likewise, you might not use "origin" as the named remote for your repository. If you set your remote to a different name (say, "github"), you will need to open gitiot.config in a text editor and change this line:

master = origin

Replace "origin" with either the named remote or the git URL.

If you have no remote master and only want to use the repository locally, remove "origin" and leave the line as:

master = 

####Default Commit Message

You may want to change the default commit message, which reads, Commit performed by gitiot v. x.xx. In that case, you will need to open gitiot.config in a text editor and change this line:

comment = Commit performed by gitiot v. x.xx

replace Commit performed by gitiot v. x.xx with whatever default message you would rather use. If would rather have no default message, remove the message and leave the line as:

comment = 

###Python Command Line

Gitiot is designed to be used by people who don't want to use the command line, but you can still use it in a Python REPL if the mood strikes you. Just save somewhere in your PATH and then import it as a module:

>>> import gitiot
>>> config = gitiot.get_config()
>>> repo_dir = config['repo_dir']
>>> master = config['master']
>>> comment = 'I stubbornly insist on using git on a command line without just, you know, using git'
>>> gitiot.git_add(repo_dir)
>>> gitiot.git_commit(repo_dir, comment)
>>> if master != '': gitiot.git_push_master(repo_dir, master)

###Planned Enhancements

  • Add command line arguments for executing so you can run in non-interactive mode and pass in arguments.

###Revision History

####Version 0.14

  • Release Date: 2011-04-26
  • Changes:
    • Added global gitiot comment to config file.

####Version 0.13

  • Release Date: 2010-04-07
  • Changes:
    • Fixed comment quotes in git_commit() so it works on Windows.
    • Updated README.markdown to include Windows instructions.

####Version 0.12

  • Release Date: 2010-04-07
  • Changes:
    • Fixed tab on Comment so it actually tabs to next control as per this article

####Version 0.11

  • Release Date: 2010-04-07
  • Changes:
    • Split config functions into get_config() and set_config()
    • Created global default variables for repo_dir, config file and named remote (master)
    • Fixed get_config() bug that wasn't splitting config file contents into a list of lines
    • Added an icon that apparently only works in Windows

####Version 0.1

  • Release Date: 2010-04-06
  • Changes:
    • First commit


Special thanks for @adr for inspiring me to write this in his cri du coeur regarding making git accessible to non-techies.