Metadata-Version: 2.4
Name: gitpush-tool
Version: 0.2.2
Summary: A CLI tool to simplify Git push operations with intelligent defaults and options.
Home-page: https://github.com/inevitablegs/gitpush
Author: Ganesh Sonawane
Author-email: sonawaneganu3101@gmail.com
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.25.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# `gitpush_tool`

[![CI/CD Status](https://github.com/your-username/gitpush_tool/actions/workflows/main.yml/badge.svg)](https://github.com/your-username/gitpush_tool/actions/workflows/main.yml)
[![PyPI version](https://badge.fury.io/py/gitpush_tool.svg)](https://pypi.org/project/gitpush_tool/)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

## About `gitpush_tool`

`gitpush_tool` is a lightweight yet powerful command-line utility designed to streamline and simplify your Git push operations. In the fast-paced world of software development, repetitive or complex Git commands can hinder productivity. This tool aims to alleviate that by providing an intuitive interface and potentially advanced functionalities to manage your code pushes with greater ease and efficiency.

Whether you're a seasoned developer managing multiple branches and remotes or a newcomer looking for a more forgiving way to interact with Git's push command, `gitpush_tool` offers a refined experience. It abstracts away some of the complexities of `git push`, allowing you to focus more on your code and less on command-line intricacies, ultimately enhancing your daily development workflow.

## Features

*   **Simplified Push Operations**: Execute common Git push commands with a more concise and user-friendly syntax.
*   **Intelligent Defaults**: Potentially intelligent defaulting for common push scenarios (e.g., current branch, upstream remote).
*   **Enhanced Workflow**: Designed to reduce keystrokes and potential errors during frequent push operations.
*   **Python-based**: Easily installable and extensible within the Python ecosystem.
*   **Lightweight**: Minimal dependencies, ensuring a small footprint and fast execution.

## Installation

`gitpush_tool` is a Python package and can be easily installed using `pip`.

### Using `pip` (Recommended)

To install the latest stable version from PyPI:

```bash
pip install gitpush_tool
```

### From Source

If you want to install the latest development version or contribute to the project, you can install it directly from the source:

```bash
git clone https://github.com/your-username/gitpush_tool.git
cd gitpush_tool
pip install .
```

For development purposes, you might want to install it in editable mode:

```bash
pip install -e .
```

## Usage

Once installed, `gitpush_tool` can be invoked from your terminal. Its primary purpose is to simplify the `git push` command. The exact arguments and behaviors will depend on the tool's implementation, but here are some illustrative examples based on common Git push patterns:

### Basic Push

To push your current branch to its configured upstream remote:

```bash
gitpush_tool
```

### Pushing a Specific Branch

To push a specific local branch (`feature/xyz`) to its default remote:

```bash
gitpush_tool feature/xyz
```

### Pushing to a Specific Remote and Branch

To push your current branch to a specific remote (`origin`) and branch (`main`):

```bash
gitpush_tool origin main
```

### Force Push (with caution!)

To perform a force push (e.g., using `--force-with-lease` for safety):

```bash
gitpush_tool --force
# or, if the tool provides a safer alias
gitpush_tool --force-lease
```

### Pushing Tags

To push all local tags:

```bash
gitpush_tool --tags
```

<<<<<<< HEAD
### Creating and Pushing to a New GitHub Repository

To create a new GitHub repository and push your code in one command:

```bash
gitpush_tool "Initial commit" --new-repo my-new-repo --description "My awesome project"

=======
>>>>>>> d1625633dae3f9eec5bfc0bc8727dd2f8bd2e98c
### Help

To view all available commands and options:

```bash
gitpush_tool --help
```

*Note: The actual commands and their effects depend on the specific logic implemented within `gitpush_tool/cli.py`. Please refer to the tool's `--help` output for precise usage details.*

## Configuration

`gitpush_tool` primarily relies on command-line arguments for its operation. Based on the project analysis, there are no specific user-facing configuration files (like `.gitpushrc` or similar) detected that would require manual editing by the user for runtime behavior. `pyproject.toml` and `setup.py` are used for project building and packaging, not for end-user runtime configuration.

Any configuration or default behaviors would typically be set through environmental variables or command-line flags. Consult the `--help` output for any such options.

## API Documentation

`gitpush_tool` is designed as a command-line interface (CLI) tool for direct user interaction. It is not intended to be used as a Python library with an exposed API for import into other Python projects. Its functionality is accessible exclusively via the terminal.

## Contributing

We welcome contributions to `gitpush_tool`! If you have suggestions for improvements, bug reports, or want to contribute code, please follow these steps:

1.  **Fork** the repository on GitHub.
2.  **Clone** your forked repository: `git clone https://github.com/your-username/gitpush_tool.git`
3.  **Create a new branch**: `git checkout -b feature/your-feature-name` or `bugfix/issue-description`
4.  **Make your changes**.
5.  **Test your changes** thoroughly.
6.  **Commit your changes**: `git commit -m "feat: Add new awesome feature"` (please use conventional commits if possible).
7.  **Push to your branch**: `git push origin feature/your-feature-name`
8.  **Open a Pull Request** against the `main` branch of the original repository.

Please ensure your code adheres to good coding practices and includes relevant tests.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
