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-2.0.0.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

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

gitobserver-2.0.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for gitobserver-2.0.0.tar.gz
Algorithm Hash digest
SHA256 8913903694edcea5ecf4100202ec2bc43aa4b811b10d7ac9754f61492be9b89b
MD5 9a2abcce91dae6701e216351bbab7774
BLAKE2b-256 b2fae9baebc1acd82450d4a8e0618bf413cf1191025cbb327e0172170f8d2c62

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gitobserver-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for gitobserver-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2b5758b729eb543aa645be8cea9cad2899c47e84d070e2553c5e38fd2d94feb4
MD5 724fd69b2999b6cf5f05bbe916635f39
BLAKE2b-256 8bf2a32bdcdfec4bae24a9a4536591a4a71f6445b6cdcec35a2f8f4da68664f9

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