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.5.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.5.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gitobserver-1.5.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.5.0.tar.gz
Algorithm Hash digest
SHA256 783e276a929acc8ad7d1732a6c8d2661317e94bb5bba668c31d3a942779829f3
MD5 5554cab1d2c510a00f2020327789e628
BLAKE2b-256 ab1dd07e6a261d5d0c6655f94df2e915f0dc8e518df2b162f032c13319f51298

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gitobserver-1.5.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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee113720496963647bff18c466b97c8750511b8336b863db1fccb67fae30d61a
MD5 2481fb74349bc0d4b05cdb723e063db2
BLAKE2b-256 db14cb19d1adfd24ffb26cd110513dc377dd2453aff1dbc47360fc0d4f47523d

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