https://github.com/muesli/gitomatic
  
  
    A tool to monitor git repositories and automatically pull & push changes 
    https://github.com/muesli/gitomatic
  
hacktoberfest
        Last synced: 26 days ago 
        JSON representation
    
A tool to monitor git repositories and automatically pull & push changes
- Host: GitHub
 - URL: https://github.com/muesli/gitomatic
 - Owner: muesli
 - License: mit
 - Created: 2019-08-02T21:37:36.000Z (over 6 years ago)
 - Default Branch: master
 - Last Pushed: 2020-04-16T17:18:58.000Z (over 5 years ago)
 - Last Synced: 2025-05-24T07:03:56.877Z (5 months ago)
 - Topics: hacktoberfest
 - Language: Go
 - Homepage:
 - Size: 29.3 KB
 - Stars: 1,034
 - Watchers: 20
 - Forks: 49
 - Open Issues: 6
 - 
            Metadata Files:
            
- Readme: README.md
 - Funding: .github/FUNDING.yml
 - License: LICENSE
 
 
Awesome Lists containing this project
- stars - muesli/gitomatic
 - go-awesome - git-o-matic - a tool for monitoring git warehouse changes and automatic pull/push (Open source library / Git)
 - jimsghstars - muesli/gitomatic - A tool to monitor git repositories and automatically pull & push changes (Go)
 
README
          git-o-matic
===========
A tool to monitor git repositories and automatically pull & push changes
## Installation
### Packages & Binaries
- Arch Linux: [gitomatic](https://aur.archlinux.org/packages/gitomatic/)
- [Binaries](https://github.com/muesli/gitomatic/releases) for Linux, macOS & Windows
### From Source
Make sure you have a working Go environment (Go 1.11 or higher is required).
See the [install instructions](http://golang.org/doc/install.html).
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 
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 
gitomatic -username "someone" -password "mypass" 
```
If you want to pull new changes but don't create commits (or vice versa):
```
gitomatic -pull=true -push=false 
```
You can control how often gitomatic checks for changes:
```
gitomatic -interval 30m 
```
Change the commit author's name and email:
```
gitomatic -author "John Doe" -email "some@mail.tld" 
```