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.3.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.3.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gitobserver-1.3.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.3.0.tar.gz
Algorithm Hash digest
SHA256 8b5bc81fe682a71eb29fb0977807a3da1c047ab5b26c30c295e0fa9328b7bc2a
MD5 d109e53991a96e00890aa59c7582162b
BLAKE2b-256 5880ea511ae3e4ce1ea59551bbb70407f996107b84f5bdbc76a1f86b7fac7cb7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gitobserver-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b6cbdd84ccb4290c0f3248414ca81b3ef44fc5191505a3bcf4fa1b17b590263
MD5 1180a9b68c6c0102f5b4773bbb6af709
BLAKE2b-256 4d49b0c2090a9d1082a88869f7aafedfe4ccc069dc1585399b952955d0e15e37

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