{"id":28418634,"url":"https://github.com/yagarea/confgit","last_synced_at":"2025-06-28T04:31:41.113Z","repository":{"id":41993608,"uuid":"316632007","full_name":"yagarea/confgit","owner":"yagarea","description":"Tool for version management of config files","archived":false,"fork":false,"pushed_at":"2022-04-22T16:40:25.000Z","size":148,"stargazers_count":5,"open_issues_count":9,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-04T17:53:20.154Z","etag":null,"topics":["backup","dotfiles","dotfiles-manager","git","hacktoberfest","python","version-control"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yagarea.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-28T01:12:46.000Z","updated_at":"2022-04-20T00:07:57.000Z","dependencies_parsed_at":"2022-08-12T01:41:03.581Z","dependency_job_id":null,"html_url":"https://github.com/yagarea/confgit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yagarea/confgit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yagarea%2Fconfgit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yagarea%2Fconfgit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yagarea%2Fconfgit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yagarea%2Fconfgit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yagarea","download_url":"https://codeload.github.com/yagarea/confgit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yagarea%2Fconfgit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262375691,"owners_count":23301338,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backup","dotfiles","dotfiles-manager","git","hacktoberfest","python","version-control"],"created_at":"2025-06-04T11:40:16.688Z","updated_at":"2025-06-28T04:31:41.099Z","avatar_url":"https://github.com/yagarea.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# confgit\n\n[![Documentation Status](https://readthedocs.org/projects/confgit/badge/?version=latest)](https://confgit.readthedocs.io/en/latest/?badge=latest)\n[![CodeFactor](https://www.codefactor.io/repository/github/yagarea/confgit/badge/master)](https://www.codefactor.io/repository/github/yagarea/confgit/overview/master)\n[![Python 3.x](https://img.shields.io/badge/python-3.x-green.svg)](https://www.python.org/)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n[![PR info](https://img.shields.io/github/issues-pr/yagarea/confgit)](https://github.com/yagarea/confgit/pulls)\n[![Open issues](https://img.shields.io/github/issues/yagarea/confgit)](https://github.com/yagarea/confgit/issues)\n[![Repo stars](https://img.shields.io/github/stars/yagarea/confgit?style=social)](https://github.com/yagarea/confgit/stargazers)\n\n## [Documentation](https://confgit.readthedocs.io/)\n\nConfgit 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.\n\n## How does it work?\n\nWith 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.\n\n## Features\n\n- **Centralization:** Manage files across multiple directories in one directory\n- **Version control:** Use Git with your config files without turning your entire filesystem into a Git repository\n- **Import/Export:** Git allows you to easily push or clone your config files to and from a remote server to archive and share\n  \n### `init`\n\nInitialize 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.\n\n```txt\nconfgit init\n```\n\n```txt\nconfgit init --config /alternative/location/of/config/file/confgit.yml\n```\n\n### `sync`\n\nWrites content of complementary files of registered files to their origins.\n\n```txt\nconfgit sync\n```\n\n### `update`\n\nWrites content of origins of registered files to their's complementary files.\n\n```txt\nconfgit update\n```\n\n### `backup`\n\nCreates a zip file with backup of all files in confgit repository.\n\n```txt\nconfgit backup\n```\n\nYou can specify the name of the backup file.\n\n```txt\nconfgit backup my_backup_monday.zip\n```\n\nIf the name of the backup does not end with `.zip` it will be automatically added.\n\n### `include`\n\nRegisters a file or a directory into a confgit watch list.\n\n```txt\nconfgit include nvim.init\n```\n\nIncluding directories will register all its files recursively.\n\n```txt\nconfgit include ~/.config/\n```\n\n### `exclude`\n\nExcludes a file or directory from the registered files.\n\n```txt\nconfgit exclude zoom.conf\n```\n\nExcluding directories will exclude all its files recursively.\n\n```txt\nconfgit exclude .config/rofi/\n```\n\n### _other_\n\nEvery other command will be called as git argument in directory with registered files.\n\n`confgit pull` -\u003e `git pull`\n\n### Optional Arguments\n\n- `-h`, `--help`                              - show this help message and exit\n- `-c $config_path`, `--config $config_path`  - load alternative config\n- `--debug`                                   - show additional information for debugging\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyagarea%2Fconfgit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyagarea%2Fconfgit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyagarea%2Fconfgit/lists"}