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.2.0.tar.gz (7.5 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.2.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for gitobserver-1.2.0.tar.gz
Algorithm Hash digest
SHA256 a41e8fb8e0000b62055d40c3bb59f3aaa1bda5034b7007603d8d13678995b245
MD5 b53f138ad94727e2eeb4257966d7d413
BLAKE2b-256 51c1640f307fcb14ac7ddab663ef44125d6a2edb51da29c969cda9723e03f60d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gitobserver-1.2.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 02abdf40ec3481205dcc3c2567cdbc79773f32d72e699d5a222ae3a1cbba8f2f
MD5 ef5379cf2df3d67c39f788eb7b93a3a3
BLAKE2b-256 15726f0097e609794e185e38f918c36b12a8a84d313f87f033c6e6d3a2e0932e

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