Introduction

Documentation Status CodeFactor Python 3.x PRs Welcome PR info Open issues Repo stars

Confgit is a Git overhead for version control of your config files. The main difference between confgit and any other config file version system is its simplicity. It makes version control and migration of config files safe and easy.

How does it work?

With confgit, you do not have to learn anything new, you only need to set up a directory where confgit will copy all files you register. After setup, you will have all your config files centralized in one directory where you can edit and maintain your config files with Git.

Features

  • Centralization: Manage files across multiple directories in one directory

  • Version control: Track config files with Git without turning your entire filesystem into a Git repository

  • Import/Export: Git allows you to easily push or clone your config files to and from a remote server to archive and share

Introduction

Documentation Status CodeFactor Python 3.x PRs Welcome PR info Open issues Repo stars

Confgit is a Git overhead for version control of your config files. The main difference between confgit and any other config file version system is its simplicity. It makes version control and migration of config files safe and easy.

How does it work?

With confgit, you do not have to learn anything new, you only need to set up a directory where confgit will copy all files you register. After setup, you will have all your config files centralized in one directory where you can edit and maintain your config files with Git.

Features

  • Centralization: Manage files across multiple directories in one directory

  • Version control: Track config files with Git without turning your entire filesystem into a Git repository

  • Import/Export: Git allows you to easily push or clone your config files to and from a remote server to archive and share

Table of Contents

Installation Guide

Clone repository

cd into a directory where you want to install confgit.

git clone https://github.com/yagarea/confgit/

Install dependencies

cd confgit
pip install -r requirements.txt

Make alias

Making an alias makes usage much easier. I highly recommend it.

fish

function confgit
	python /absolute/path/to/confgit/main.py $argv
end

funcsave confgit

bash

Add the following line to your ~/.bashrc file:

alias confgit="python absolute/path/to/main.py"

Then run source ~/.bashrc to load the new alias.

Commands

Global Options

-h, --help

Prints the synopsis and a brief description of confgit.

If used with a command, prints a description of that command along with its options.

-c <config-path>, --config <config-path>

Executes commands using the specified config.

Defaults to confgit.yml in the current directory.

--debug

Show additional information for debugging.

confgit init

Initialize an empty git repository for your config files in current directory and generates a confgit config file

confgit include

Add a file or a directory into a confgit index

confgit exclude

Explicitly exclude a file or directory from a confgit index

confgit sync

Write contents of complementary files of indexed files to their origins

confgit update

Write contents of origins of indexed files to their complementary files.

confgit backup

Create a zip archive backup of all files in the confgit repository