g3ner1c / confgit

Tool for version management of config files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Confgit

PRs Welcome PR info CodeFactor Python 3.x Closed issues Repo starts

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 it's 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. In result, you have all your config files centralized in one directory where you can edit and maintain your config files with git.

Usage

init

Initialize a git repository for your config files in current directory and generates config file in ~/.config/confgit.yml if you do not specify other location using --config argument.

confgit init
confgit init --config /alternative/location/of/config/file/confgit.yml

sync

Writes content of complementary files of registered files to their origins.

confgit sync

update

Writes content of origins of registered files to their's complementary files.

confgit update

backup

Creates a zip file with backup of all files in confgit repository.

confgit backup

You can specify the name of the backup file.

confgit backup my_backup_monday.zip

If the name of the backup does not end with .zip it will be automatically added.

include

Registers a file or a directory into a confgit watch list.

confgit include nvim.init

Including directories will register all its files recursively.

confgit include ~/.config/

exclude

Excludes a file or directory from the registered files.

confgit exclude zoom.conf

Excluding directories will exclude all its files recursively.

confgit exclude .config/rofi/

other

Every other command will be called as git argument in directory with registered files.

confgit pull -> git pull

Optional Arguments

  • -h, --help - show this help message and exit
  • -c $config_path, --config $config_path - load alternative config
  • --debug - show additional information for debugging

Git commands supported by confgit

clone, add, mv, restore, rm, sparse-checkout, bisect, diff, grep, log, show, status, branch, commit, merge, rebase, reset, switch, tag, fetch, pull, push


Disclaimer: Author does not have any responsibility for any damage or data loss caused by the usage of this software.

About

Tool for version management of config files

License:MIT License


Languages

Language:Python 100.0%