Skip to main content

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

We welcome contributions from the community! ๐Ÿš€


๐Ÿ’ก How to Contribute

We appreciate your help in improving this project. Follow these steps to contribute:

  1. Fork the repository on GitHub.
  2. Clone your fork:
    git clone https://github.com/your-username/git-auto-commit.git
    
  3. Create a new branch for your feature:
    git checkout -b feature-name
    
  4. Make your changes and commit them:
    git commit -m "Added a new feature"
    
  5. Push to your fork:
    git push origin feature-name
    
  6. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitobserver-1.4.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitobserver-1.4.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file gitobserver-1.4.0.tar.gz.

File metadata

  • Download URL: gitobserver-1.4.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for gitobserver-1.4.0.tar.gz
Algorithm Hash digest
SHA256 2b45462168c445d41ee9c234c542025b94a42d4ab2f40cd03e446af904d81f93
MD5 e16bb8ca45aa8c03ad512b9a09484d52
BLAKE2b-256 0b01f3b653bbca476c39fc591402cef2aca64596edb308087a93e1025863b712

See more details on using hashes here.

File details

Details for the file gitobserver-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: gitobserver-1.4.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

Hashes for gitobserver-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b3d3157bc5e84f7a15732caa0cce42a6fb18df00b80763332089bba60167b66f
MD5 2a9b0691d1dc8f60bd1f3c97e2e81031
BLAKE2b-256 46f67e0db8d753f43327d0c058d29e05cc45c9d3382c65779071e5e0f5df4245

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page