Skip to main content

A CLI tool to simplify Git push operations with intelligent defaults and options.

Project description

gitpush_tool

CI/CD Status PyPI version 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:

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:

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:

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:

gitpush_tool

Pushing a Specific Branch

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

gitpush_tool feature/xyz

Pushing to a Specific Remote and Branch

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

gitpush_tool origin main

Force Push (with caution!)

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

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

Pushing Tags

To push all local tags:

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:

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 file for details.

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

gitpush_tool-0.2.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

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

gitpush_tool-0.2.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file gitpush_tool-0.2.0.tar.gz.

File metadata

  • Download URL: gitpush_tool-0.2.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.5

File hashes

Hashes for gitpush_tool-0.2.0.tar.gz
Algorithm Hash digest
SHA256 08ae687a1a279ba9b68af46486ca002b938e6ab1059c29c79dc9349295759408
MD5 5de9ab3c012d3ea9e731ccf798ba94fd
BLAKE2b-256 222ea401ecb2d85368b08d50dc1262101b0aed5f4ac7c7f1beb1219d892e549e

See more details on using hashes here.

File details

Details for the file gitpush_tool-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: gitpush_tool-0.2.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.5

File hashes

Hashes for gitpush_tool-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c027fcd5c2c53c7f8cb0ad95e04b2f313d7e5dcf4983893be9ff4d8b54d3a027
MD5 1598aa62f8e7fedebc2a9dd96e08e093
BLAKE2b-256 1a0f080de3228ec37fd0ee4b4a3e5c96aa0db0b603ea7760c06b4c89ac5e4329

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