Skip to content
A tool to monitor git repositories and automatically pull & push changes
Go Shell
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
tools Added release helper script Aug 2, 2019
.gitignore Added .goreleaser.yml Aug 2, 2019
.goreleaser.yml Added .goreleaser.yml Aug 2, 2019
LICENSE Initial commit Aug 2, 2019
README.md Added -pull and -push flags Aug 5, 2019
go.mod Enable go modules Aug 2, 2019
go.sum Enable go modules Aug 2, 2019
main.go Added -pull and -push flags Aug 5, 2019

README.md

git-o-matic

A tool to monitor git repositories and automatically pull & push changes

Installation

Packages & Binaries

From Source

Make sure you have a working Go environment (Go 1.11 or higher is required). See the install instructions.

Compiling gitomatic is easy, simply run:

git clone https://github.com/muesli/gitomatic.git
cd gitomatic
go build

Usage

Monitor a repository for changes and automatically pull & push changes:

gitomatic <path>

2019/08/03 00:16:48 Checking repository: /tmp/gitomatic-test/
2019/08/03 00:16:48 Pulling changes...
2019/08/03 00:16:49 New file detected: hello_world.txt
2019/08/03 00:16:49 Adding file to work-tree: hello_world.txt
2019/08/03 00:16:49 Creating commit: Add hello_world.txt.
2019/08/03 00:16:49 Pushing changes...
2019/08/03 00:16:53 Sleeping until next check in 10s...
2019/08/03 00:17:03 Checking repository: /tmp/gitomatic-test/
2019/08/03 00:17:03 Pulling changes...
2019/08/03 00:17:07 Deleted file detected: hello_world.txt
2019/08/03 00:17:07 Removing file from work-tree: hello_world.txt
2019/08/03 00:17:07 Creating commit: Remove hello_world.txt.
2019/08/03 00:17:07 Pushing changes...

Auth methods:

gitomatic -privkey ~/.ssh/id_rsa <path>
gitomatic -username "someone" -password "mypass" <path>

If you want to pull new changes but don't create commits (or vice versa):

gitomatic -pull=true -push=false <path>

You can control how often gitomatic checks for changes:

gitomatic -interval 30m <path>

Change the commit author's name and email:

gitomatic -author "John Doe" -email "some@mail.tld" <path>
You can’t perform that action at this time.