Automotic Git tool for file commiting
Project description
๐ง GitObserver โ Intelligent Auto Commit Tool
GitObserver is an intelligent file monitoring and auto-committing tool for Git repositories. It watches your working directory for file changes and can commit them automatically or after confirmation. Itโs perfect for developers who want real-time, stress-free version tracking while coding.
๐ Features
- ๐ Automatic Git Commits: Detects file changes and commits after a configurable delay.
- ๐ง Pattern Mode: Only commits on file modification events.
- ๐ Commit Timeout: Prompts the user for confirmation; if no response within 2 minutes, commits automatically.
- ๐ Change Summary: Includes detailed commit messages listing added, modified, and deleted files.
- ๐งฐ Lightweight & Customizable: Easy CLI configuration with delay, message, and mode options.
- ๐ Hash-Based Change Detection: Avoids false positives by verifying content changes via SHA-256 hash.
- ๐ ๏ธ Modular Design: Easy to extend with pluggable git and utility modules.
๐ Project Structure
git_observer/
โโโ git_observer/ # Source code directory
โ โโโ __init__.py # Initialization file
โ โโโ git_handler.py # Git commit handling module
โ โโโ git_observer/ # File monitoring system
โ โโโ main.py # Main script
โ
โโโ setup.py # Package configuration file
โโโ README.md # Project documentation
โโโ LICENSE # Open-source license
โโโ requirements.txt # Project dependencies
โโโ pyproject.toml # (Optional, recommended for packaging)
โโโ tests/ # Unit tests (Optional)
โ
โโโ .gitignore # Excludes unnecessary files
๐ง Installation
๐ฅ Install from GitHub
git clone https://github.com/k2pme/gitobserver.git
cd gitobserver
pip install -r requirements.txt
๐ฆ Install via pip
Once the package is published on PyPI:
pip install gitobserver
git_observer
โ Available Options
| args | description | deault |
|---|---|---|
| --mode | auto or pattern |
auto |
| --delay | Time in seconds before auto-committing | 30 |
| --message | Default commit message | Auto update |
๐ Commit Modes
- Auto Mode : Commits all detected changes after the delay.
- Pattern Mode : Commits immediately on file modification events only.
๐งช Usage
๐ก๏ธ Start Watching Your Folder
python3 -m git_observer.main --mode auto --delay 30 --message "Auto update"
๐ฆ Example Commit Output
๐ Files to commit:
- main.py
- git_handler.py
โณ Waiting for confirmation... (120s timeout)
๐ฅ Contributors
- k2pme - GitHub Profile
We welcome contributions from the community! ๐
๐ก How to Contribute
We appreciate your help in improving this project. Follow these steps to contribute:
- Fork the repository on GitHub.
- Clone your fork:
git clone https://github.com/your-username/git-auto-commit.git
- Create a new branch for your feature:
git checkout -b feature-name
- Make your changes and commit them:
git commit -m "Added a new feature"
- Push to your fork:
git push origin feature-name
- Create a pull request from your branch to the main repository.
๐ Acknowledgments
Special thanks to all contributors and open-source maintainers who make projects like this possible.
If you find this project helpful, please โญ star the repository on GitHub!
๐ง Contact
For any inquiries or feature requests, feel free to open an issue or contact us via GitHub.
๐ Happy Coding!# gitobserver
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gitobserver-1.6.0.tar.gz.
File metadata
- Download URL: gitobserver-1.6.0.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5532bf7a393706d7ee34fef224bfb005c2cd6cb2b17ad9c587f15fb58a02dc59
|
|
| MD5 |
1afe04bbc3d3e86da05db0707fa19edd
|
|
| BLAKE2b-256 |
3ebc9ba1ad4d3124f7444c1ce9849ad35e87c636368d9dd712fb8aca9321e6fc
|
File details
Details for the file gitobserver-1.6.0-py3-none-any.whl.
File metadata
- Download URL: gitobserver-1.6.0-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e03bd0906fa1ccee39877dca427052fceda443b1dc8d9bd4f0588550c70d6316
|
|
| MD5 |
0f3e58c19e194643fd4800527111b0b2
|
|
| BLAKE2b-256 |
ca2430656774c0c5c97212f3c3642322bef6e3773d9136fc78ef4635df869f87
|