gitpush-tool 0.2.3__tar.gz → 0.2.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,83 @@
1
+ Metadata-Version: 2.4
2
+ Name: gitpush-tool
3
+ Version: 0.2.5
4
+ Summary: Supercharged Git push tool with automatic GitHub repo creation and pushing
5
+ Home-page: https://github.com/inevitablegs/gitpush
6
+ Author: Ganesh Sonawane
7
+ Author-email: sonawaneganu3101@gmail.com
8
+ License: MIT
9
+ Project-URL: Documentation, https://github.com/inevitablegs/gitpush
10
+ Project-URL: Source, https://github.com/inevitablegs/gitpush
11
+ Project-URL: Tracker, https://github.com/inevitablegs/gitpush/issues
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Requires-Python: >=3.6
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE
18
+ Dynamic: author
19
+ Dynamic: author-email
20
+ Dynamic: classifier
21
+ Dynamic: description
22
+ Dynamic: description-content-type
23
+ Dynamic: home-page
24
+ Dynamic: license
25
+ Dynamic: license-file
26
+ Dynamic: project-url
27
+ Dynamic: requires-python
28
+ Dynamic: summary
29
+
30
+ # GitPush Tool - Complete Documentation
31
+
32
+ ## 📦 Installation
33
+ ```bash
34
+ pip install gitpush-tool
35
+ gh auth login # Authenticate with GitHub
36
+ ```
37
+
38
+ ## 🚀 Core Features
39
+
40
+ ### 1. New Repository Creation
41
+ ```bash
42
+ # Create public repo
43
+ gitpush_tool "Initial commit" --new-repo my-project
44
+
45
+ # Create private repo
46
+ gitpush_tool "Initial commit" --new-repo private-project --private
47
+ ```
48
+
49
+ ### 2. Standard Git Operations
50
+ ```bash
51
+ # Regular push
52
+ gitpush_tool "Fixed login bug"
53
+
54
+ # Force push
55
+ gitpush_tool "Rebased history" --force
56
+
57
+ # Push tags
58
+ gitpush_tool --tags
59
+ ```
60
+
61
+ ## ⚙️ Configuration
62
+
63
+ The tool automatically:
64
+ 1. Creates `.gitignore` with sensible defaults
65
+ 2. Sets main branch as default
66
+ 3. Uses GitHub CLI for secure auth
67
+
68
+ ## 🐛 Common Issues
69
+
70
+ **"Repository already exists"**
71
+ ```bash
72
+ ❌ Repository 'my-repo' already exists
73
+ ```
74
+ Solution: Use different name or delete existing repo
75
+
76
+ **"Authentication failed"**
77
+ ```bash
78
+ ❌ Failed to authenticate with GitHub
79
+ ```
80
+ Solution: Run `gh auth login` separately
81
+
82
+ ## 📝 License
83
+ MIT Licensed - Free for personal and commercial use
@@ -0,0 +1,182 @@
1
+ # GitPush Tool 🚀
2
+
3
+ [![PyPI version](https://img.shields.io/pypi/v/gitpush-tool.svg)](https://pypi.org/project/gitpush-tool/)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
5
+
6
+ A supercharged Git CLI tool that simplifies repository creation and pushing with intelligent defaults.
7
+
8
+ ## Features ✨
9
+
10
+ - **One-command GitHub repo creation**
11
+ - **Automatic Git initialization** for new projects
12
+ - **Safe force pushing** (`--force-with-lease`)
13
+ - **GitHub CLI integration** for secure authentication
14
+ - **Fresh project setup** in one command
15
+ - **Comprehensive error handling**
16
+
17
+ ## Installation 📦
18
+
19
+ ```bash
20
+ pip install gitpush-tool
21
+ ```
22
+
23
+ ### Prerequisites
24
+
25
+ - GitHub CLI (gh)
26
+ - Git
27
+
28
+ ```bash
29
+ # Install GitHub CLI
30
+ # macOS
31
+ brew install gh
32
+
33
+ # Windows
34
+ winget install --id GitHub.cli
35
+
36
+ # Linux (Debian/Ubuntu)
37
+ sudo apt install gh
38
+ ```
39
+
40
+ ## Usage 🛠️
41
+
42
+ ### Basic Commands
43
+
44
+ | Command | Description |
45
+ |--------|-------------|
46
+ | `gitpush_tool "Commit message"` | Standard push with commit |
47
+ | `gitpush_tool` | Push without commit (only staged changes) |
48
+ | `gitpush_tool --force` | Safe force push |
49
+ | `gitpush_tool --tags` | Push all tags |
50
+
51
+ ### New Repository Workflow
52
+
53
+ ```bash
54
+ # Create new public repo
55
+ gitpush_tool "Initial commit" --new-repo project-name
56
+
57
+ # Create private repo with description
58
+ gitpush_tool "Initial commit" --new-repo private-project --private --description "My awesome project"
59
+ ```
60
+
61
+ ### Branch Management
62
+
63
+ ```bash
64
+ # Push to specific branch
65
+ gitpush_tool "Commit message" feature-branch
66
+
67
+ # Push to specific remote and branch
68
+ gitpush_tool "Commit message" main upstream
69
+ ```
70
+
71
+ ### Initialization
72
+
73
+ ```bash
74
+ # Initialize new repo only
75
+ gitpush_tool --init
76
+ ```
77
+
78
+ ## Workflow Examples 🔥
79
+
80
+ ### Scenario 1: Fresh Project Setup
81
+
82
+ ```bash
83
+ mkdir my-app
84
+ cd my-app
85
+ touch README.md main.py
86
+ gitpush_tool "Initial commit" --new-repo my-app
87
+ ```
88
+
89
+ ### Scenario 2: Existing Project Updates
90
+
91
+ ```bash
92
+ # After making changes
93
+ gitpush_tool "Fixed authentication bug"
94
+
95
+ # Force push after rebase
96
+ gitpush_tool "Rebased commits" --force
97
+ ```
98
+
99
+ ### Scenario 3: Create Empty Repository
100
+
101
+ ```bash
102
+ mkdir empty-project
103
+ cd empty-project
104
+ gitpush_tool --init
105
+ ```
106
+
107
+ ## Configuration ⚙️
108
+
109
+ The tool uses GitHub CLI (gh) for authentication. On first use:
110
+
111
+ - It will prompt you to authenticate via browser
112
+ - Follow the on-screen instructions
113
+ - Authentication persists for future uses
114
+
115
+ ## Troubleshooting 🛑
116
+
117
+ ### Common Issues
118
+
119
+ **Error: GitHub CLI not found**
120
+
121
+ ```bash
122
+ ❌ GitHub CLI (gh) is not installed
123
+ ➡️ Install GitHub CLI using the installation guide
124
+ ```
125
+
126
+ **Error: Authentication failed**
127
+
128
+ ```bash
129
+ ❌ Authentication failed
130
+ ➡️ Run gh auth login separately to debug
131
+ ```
132
+
133
+ **Error: No commits found**
134
+
135
+ ```bash
136
+ ❌ Failed to create initial commit
137
+ ➡️ Make sure you have files in your directory before pushing
138
+ ```
139
+
140
+ **Error: Repository already exists**
141
+
142
+ ```bash
143
+ ❌ Repository 'my-repo' already exists
144
+ ➡️ Choose a different repository name or delete the existing one
145
+ ```
146
+
147
+ ## Advanced Options 🧠
148
+
149
+ | Option | Description |
150
+ |--------|-------------|
151
+ | `--private` | Create private repository |
152
+ | `--description "TEXT"` | Set repository description |
153
+ | `--force` | Force push with lease |
154
+ | `--tags` | Include tags in push |
155
+ | `--init` | Initialize Git repo only |
156
+
157
+ ## FAQ ❓
158
+
159
+ **Q: Can I use this with existing repositories?**
160
+ A: Yes! It works normally with existing repos like regular git push.
161
+
162
+ **Q: How is this different from regular Git?**
163
+ A: It automates the tedious setup (init, first commit, remote creation) and provides safer defaults.
164
+
165
+ **Q: Can I customize the .gitignore?**
166
+ A: Yes! The tool creates a basic .gitignore but you can modify it afterward.
167
+
168
+ ## Contributing 🤝
169
+
170
+ Contributions welcome! Please follow these steps:
171
+
172
+ 1. Fork the repository
173
+ 2. Create a feature branch
174
+ 3. Commit your changes
175
+ 4. Push to the branch
176
+ 5. Open a pull request
177
+
178
+ ## License 📄
179
+
180
+ MIT - See LICENSE for details.
181
+
182
+ <center>✨ <strong>Happy Coding!</strong> ✨</center>
@@ -0,0 +1,25 @@
1
+ """
2
+ GitPush Tool - Supercharged Git CLI (v0.2.0)
3
+
4
+ A powerful command-line tool that simplifies Git operations with automatic GitHub repository creation.
5
+
6
+ Key Features:
7
+ • One-command GitHub repo creation
8
+ • Automatic Git initialization
9
+ • Safe force pushing (--force-with-lease)
10
+ • GitHub CLI integration
11
+ • Fresh project setup in one command
12
+
13
+ Basic Usage:
14
+ gitpush_tool "Commit message" # Standard push
15
+ gitpush_tool --new-repo project-name # Create new repo
16
+ gitpush_tool --force # Safe force push
17
+
18
+ Install GitHub CLI first:
19
+ macOS: brew install gh
20
+ Windows: winget install GitHub.cli
21
+ Linux: sudo apt install gh
22
+
23
+ Documentation: https://github.com/inevitablegs/gitpush
24
+ Issues: https://github.com/inevitablegs/gitpush/issues
25
+ """
@@ -0,0 +1 @@
1
+ __version__ = "0.2.5"
@@ -145,11 +145,42 @@ def create_with_gh_cli(repo_name, private=False, description="", commit_message=
145
145
  print(f"❌ Unexpected error: {str(e)}")
146
146
  return False
147
147
 
148
+ def standard_git_push(commit_message, branch, remote, force=False, tags=False):
149
+ """Handle standard git push operations"""
150
+ try:
151
+ # Stage all changes
152
+ subprocess.run(["git", "add", "."], check=True)
153
+
154
+ # Commit if message provided
155
+ if commit_message:
156
+ print(f"📦 Committing: '{commit_message}'")
157
+ subprocess.run(["git", "commit", "-m", commit_message], check=True)
158
+ else:
159
+ print("ℹ️ No commit message provided - skipping commit")
160
+
161
+ # Build push command
162
+ push_cmd = ["git", "push"]
163
+ if force:
164
+ push_cmd.append("--force-with-lease")
165
+ if tags:
166
+ push_cmd.append("--tags")
167
+ if remote and branch:
168
+ push_cmd.extend([remote, branch])
169
+
170
+ print(f"🚀 Executing: {' '.join(push_cmd)}")
171
+ subprocess.run(push_cmd, check=True)
172
+ print("✅ Successfully pushed changes")
173
+ return True
174
+ except subprocess.CalledProcessError as e:
175
+ print(f"❌ Push failed: {e}")
176
+ return False
177
+
148
178
  def run():
149
179
  parser = argparse.ArgumentParser(
150
180
  description="🚀 Supercharged Git push tool with GitHub repo creation",
151
181
  formatter_class=argparse.RawDescriptionHelpFormatter,
152
182
  epilog="""Examples:
183
+ Standard push: gitpush_tool "Commit message"
153
184
  Create new repo: gitpush_tool "Initial commit" --new-repo project-name
154
185
  Private repository: gitpush_tool --new-repo private-project --private
155
186
  Force push: gitpush_tool "Fix critical bug" --force
@@ -190,16 +221,19 @@ def run():
190
221
  commit_message=commit_msg
191
222
  ):
192
223
  sys.exit(1)
193
-
194
- sys.exit(0)
195
-
196
- if args.init:
224
+ elif args.init:
197
225
  if initialize_git_repository():
198
226
  create_initial_commit(args.commit or "Initial commit")
199
- sys.exit(0)
200
-
201
- print("ℹ️ No operation specified. Use --new-repo to create a repository or --help for options")
202
- sys.exit(1)
227
+ else:
228
+ # Standard git push operation
229
+ if not standard_git_push(
230
+ args.commit,
231
+ args.branch,
232
+ args.remote,
233
+ args.force,
234
+ args.tags
235
+ ):
236
+ sys.exit(1)
203
237
 
204
238
  if __name__ == "__main__":
205
239
  run()
@@ -0,0 +1,83 @@
1
+ Metadata-Version: 2.4
2
+ Name: gitpush-tool
3
+ Version: 0.2.5
4
+ Summary: Supercharged Git push tool with automatic GitHub repo creation and pushing
5
+ Home-page: https://github.com/inevitablegs/gitpush
6
+ Author: Ganesh Sonawane
7
+ Author-email: sonawaneganu3101@gmail.com
8
+ License: MIT
9
+ Project-URL: Documentation, https://github.com/inevitablegs/gitpush
10
+ Project-URL: Source, https://github.com/inevitablegs/gitpush
11
+ Project-URL: Tracker, https://github.com/inevitablegs/gitpush/issues
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Requires-Python: >=3.6
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE
18
+ Dynamic: author
19
+ Dynamic: author-email
20
+ Dynamic: classifier
21
+ Dynamic: description
22
+ Dynamic: description-content-type
23
+ Dynamic: home-page
24
+ Dynamic: license
25
+ Dynamic: license-file
26
+ Dynamic: project-url
27
+ Dynamic: requires-python
28
+ Dynamic: summary
29
+
30
+ # GitPush Tool - Complete Documentation
31
+
32
+ ## 📦 Installation
33
+ ```bash
34
+ pip install gitpush-tool
35
+ gh auth login # Authenticate with GitHub
36
+ ```
37
+
38
+ ## 🚀 Core Features
39
+
40
+ ### 1. New Repository Creation
41
+ ```bash
42
+ # Create public repo
43
+ gitpush_tool "Initial commit" --new-repo my-project
44
+
45
+ # Create private repo
46
+ gitpush_tool "Initial commit" --new-repo private-project --private
47
+ ```
48
+
49
+ ### 2. Standard Git Operations
50
+ ```bash
51
+ # Regular push
52
+ gitpush_tool "Fixed login bug"
53
+
54
+ # Force push
55
+ gitpush_tool "Rebased history" --force
56
+
57
+ # Push tags
58
+ gitpush_tool --tags
59
+ ```
60
+
61
+ ## ⚙️ Configuration
62
+
63
+ The tool automatically:
64
+ 1. Creates `.gitignore` with sensible defaults
65
+ 2. Sets main branch as default
66
+ 3. Uses GitHub CLI for secure auth
67
+
68
+ ## 🐛 Common Issues
69
+
70
+ **"Repository already exists"**
71
+ ```bash
72
+ ❌ Repository 'my-repo' already exists
73
+ ```
74
+ Solution: Use different name or delete existing repo
75
+
76
+ **"Authentication failed"**
77
+ ```bash
78
+ ❌ Failed to authenticate with GitHub
79
+ ```
80
+ Solution: Run `gh auth login` separately
81
+
82
+ ## 📝 License
83
+ MIT Licensed - Free for personal and commercial use
@@ -3,11 +3,11 @@ MANIFEST.in
3
3
  README.md
4
4
  pyproject.toml
5
5
  setup.py
6
+ gitpush_tool/__doc__.py
6
7
  gitpush_tool/__init__.py
7
8
  gitpush_tool/cli.py
8
9
  gitpush_tool.egg-info/PKG-INFO
9
10
  gitpush_tool.egg-info/SOURCES.txt
10
11
  gitpush_tool.egg-info/dependency_links.txt
11
12
  gitpush_tool.egg-info/entry_points.txt
12
- gitpush_tool.egg-info/requires.txt
13
13
  gitpush_tool.egg-info/top_level.txt
@@ -1,13 +1,14 @@
1
1
  from setuptools import setup, find_packages
2
2
  from pathlib import Path
3
3
 
4
+ # Read long description
5
+ long_description = (Path(__file__).parent / "LONG_DESCRIPTION.md").read_text(encoding="utf-8")
6
+
4
7
  setup(
5
8
  name="gitpush-tool",
6
- version="0.2.3",
9
+ version="0.2.5",
7
10
  packages=find_packages(),
8
- install_requires=[
9
- 'requests>=2.25.0',
10
- ],
11
+ install_requires=[],
11
12
  entry_points={
12
13
  "console_scripts": [
13
14
  "gitpush_tool=gitpush_tool.cli:run"
@@ -15,8 +16,8 @@ setup(
15
16
  },
16
17
  author="Ganesh Sonawane",
17
18
  author_email="sonawaneganu3101@gmail.com",
18
- description="A CLI tool to simplify Git push operations with intelligent defaults and options.",
19
- long_description=Path("README.md").read_text(encoding="utf-8"),
19
+ description="Supercharged Git push tool with automatic GitHub repo creation and pushing",
20
+ long_description=long_description,
20
21
  long_description_content_type="text/markdown",
21
22
  url="https://github.com/inevitablegs/gitpush",
22
23
  license="MIT",
@@ -26,4 +27,10 @@ setup(
26
27
  "Operating System :: OS Independent",
27
28
  ],
28
29
  python_requires=">=3.6",
29
- )
30
+ include_package_data=True,
31
+ project_urls={
32
+ "Documentation": "https://github.com/inevitablegs/gitpush",
33
+ "Source": "https://github.com/inevitablegs/gitpush",
34
+ "Tracker": "https://github.com/inevitablegs/gitpush/issues",
35
+ },
36
+ )
@@ -1,169 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: gitpush-tool
3
- Version: 0.2.3
4
- Summary: A CLI tool to simplify Git push operations with intelligent defaults and options.
5
- Home-page: https://github.com/inevitablegs/gitpush
6
- Author: Ganesh Sonawane
7
- Author-email: sonawaneganu3101@gmail.com
8
- License: MIT
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: License :: OSI Approved :: MIT License
11
- Classifier: Operating System :: OS Independent
12
- Requires-Python: >=3.6
13
- Description-Content-Type: text/markdown
14
- License-File: LICENSE
15
- Requires-Dist: requests>=2.25.0
16
- Dynamic: author
17
- Dynamic: author-email
18
- Dynamic: classifier
19
- Dynamic: description
20
- Dynamic: description-content-type
21
- Dynamic: home-page
22
- Dynamic: license
23
- Dynamic: license-file
24
- Dynamic: requires-dist
25
- Dynamic: requires-python
26
- Dynamic: summary
27
-
28
- # `gitpush_tool`
29
-
30
- [![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)
31
- [![PyPI version](https://badge.fury.io/py/gitpush_tool.svg)](https://pypi.org/project/gitpush_tool/)
32
- [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
33
-
34
- ## About `gitpush_tool`
35
-
36
- `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.
37
-
38
- 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.
39
-
40
- ## Features
41
-
42
- * **Simplified Push Operations**: Execute common Git push commands with a more concise and user-friendly syntax.
43
- * **Intelligent Defaults**: Potentially intelligent defaulting for common push scenarios (e.g., current branch, upstream remote).
44
- * **Enhanced Workflow**: Designed to reduce keystrokes and potential errors during frequent push operations.
45
- * **Python-based**: Easily installable and extensible within the Python ecosystem.
46
- * **Lightweight**: Minimal dependencies, ensuring a small footprint and fast execution.
47
-
48
- ## Installation
49
-
50
- `gitpush_tool` is a Python package and can be easily installed using `pip`.
51
-
52
- ### Using `pip` (Recommended)
53
-
54
- To install the latest stable version from PyPI:
55
-
56
- ```bash
57
- pip install gitpush_tool
58
- ```
59
-
60
- ### From Source
61
-
62
- If you want to install the latest development version or contribute to the project, you can install it directly from the source:
63
-
64
- ```bash
65
- git clone https://github.com/your-username/gitpush_tool.git
66
- cd gitpush_tool
67
- pip install .
68
- ```
69
-
70
- For development purposes, you might want to install it in editable mode:
71
-
72
- ```bash
73
- pip install -e .
74
- ```
75
-
76
- ## Usage
77
-
78
- 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:
79
-
80
- ### Basic Push
81
-
82
- To push your current branch to its configured upstream remote:
83
-
84
- ```bash
85
- gitpush_tool
86
- ```
87
-
88
- ### Pushing a Specific Branch
89
-
90
- To push a specific local branch (`feature/xyz`) to its default remote:
91
-
92
- ```bash
93
- gitpush_tool feature/xyz
94
- ```
95
-
96
- ### Pushing to a Specific Remote and Branch
97
-
98
- To push your current branch to a specific remote (`origin`) and branch (`main`):
99
-
100
- ```bash
101
- gitpush_tool origin main
102
- ```
103
-
104
- ### Force Push (with caution!)
105
-
106
- To perform a force push (e.g., using `--force-with-lease` for safety):
107
-
108
- ```bash
109
- gitpush_tool --force
110
- # or, if the tool provides a safer alias
111
- gitpush_tool --force-lease
112
- ```
113
-
114
- ### Pushing Tags
115
-
116
- To push all local tags:
117
-
118
- ```bash
119
- gitpush_tool --tags
120
- ```
121
-
122
- <<<<<<< HEAD
123
- ### Creating and Pushing to a New GitHub Repository
124
-
125
- To create a new GitHub repository and push your code in one command:
126
-
127
- ```bash
128
- gitpush_tool "Initial commit" --new-repo my-new-repo --description "My awesome project"
129
-
130
- =======
131
- >>>>>>> d1625633dae3f9eec5bfc0bc8727dd2f8bd2e98c
132
- ### Help
133
-
134
- To view all available commands and options:
135
-
136
- ```bash
137
- gitpush_tool --help
138
- ```
139
-
140
- *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.*
141
-
142
- ## Configuration
143
-
144
- `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.
145
-
146
- Any configuration or default behaviors would typically be set through environmental variables or command-line flags. Consult the `--help` output for any such options.
147
-
148
- ## API Documentation
149
-
150
- `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.
151
-
152
- ## Contributing
153
-
154
- We welcome contributions to `gitpush_tool`! If you have suggestions for improvements, bug reports, or want to contribute code, please follow these steps:
155
-
156
- 1. **Fork** the repository on GitHub.
157
- 2. **Clone** your forked repository: `git clone https://github.com/your-username/gitpush_tool.git`
158
- 3. **Create a new branch**: `git checkout -b feature/your-feature-name` or `bugfix/issue-description`
159
- 4. **Make your changes**.
160
- 5. **Test your changes** thoroughly.
161
- 6. **Commit your changes**: `git commit -m "feat: Add new awesome feature"` (please use conventional commits if possible).
162
- 7. **Push to your branch**: `git push origin feature/your-feature-name`
163
- 8. **Open a Pull Request** against the `main` branch of the original repository.
164
-
165
- Please ensure your code adheres to good coding practices and includes relevant tests.
166
-
167
- ## License
168
-
169
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
@@ -1,142 +0,0 @@
1
- # `gitpush_tool`
2
-
3
- [![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)
4
- [![PyPI version](https://badge.fury.io/py/gitpush_tool.svg)](https://pypi.org/project/gitpush_tool/)
5
- [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
6
-
7
- ## About `gitpush_tool`
8
-
9
- `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.
10
-
11
- 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.
12
-
13
- ## Features
14
-
15
- * **Simplified Push Operations**: Execute common Git push commands with a more concise and user-friendly syntax.
16
- * **Intelligent Defaults**: Potentially intelligent defaulting for common push scenarios (e.g., current branch, upstream remote).
17
- * **Enhanced Workflow**: Designed to reduce keystrokes and potential errors during frequent push operations.
18
- * **Python-based**: Easily installable and extensible within the Python ecosystem.
19
- * **Lightweight**: Minimal dependencies, ensuring a small footprint and fast execution.
20
-
21
- ## Installation
22
-
23
- `gitpush_tool` is a Python package and can be easily installed using `pip`.
24
-
25
- ### Using `pip` (Recommended)
26
-
27
- To install the latest stable version from PyPI:
28
-
29
- ```bash
30
- pip install gitpush_tool
31
- ```
32
-
33
- ### From Source
34
-
35
- If you want to install the latest development version or contribute to the project, you can install it directly from the source:
36
-
37
- ```bash
38
- git clone https://github.com/your-username/gitpush_tool.git
39
- cd gitpush_tool
40
- pip install .
41
- ```
42
-
43
- For development purposes, you might want to install it in editable mode:
44
-
45
- ```bash
46
- pip install -e .
47
- ```
48
-
49
- ## Usage
50
-
51
- 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:
52
-
53
- ### Basic Push
54
-
55
- To push your current branch to its configured upstream remote:
56
-
57
- ```bash
58
- gitpush_tool
59
- ```
60
-
61
- ### Pushing a Specific Branch
62
-
63
- To push a specific local branch (`feature/xyz`) to its default remote:
64
-
65
- ```bash
66
- gitpush_tool feature/xyz
67
- ```
68
-
69
- ### Pushing to a Specific Remote and Branch
70
-
71
- To push your current branch to a specific remote (`origin`) and branch (`main`):
72
-
73
- ```bash
74
- gitpush_tool origin main
75
- ```
76
-
77
- ### Force Push (with caution!)
78
-
79
- To perform a force push (e.g., using `--force-with-lease` for safety):
80
-
81
- ```bash
82
- gitpush_tool --force
83
- # or, if the tool provides a safer alias
84
- gitpush_tool --force-lease
85
- ```
86
-
87
- ### Pushing Tags
88
-
89
- To push all local tags:
90
-
91
- ```bash
92
- gitpush_tool --tags
93
- ```
94
-
95
- <<<<<<< HEAD
96
- ### Creating and Pushing to a New GitHub Repository
97
-
98
- To create a new GitHub repository and push your code in one command:
99
-
100
- ```bash
101
- gitpush_tool "Initial commit" --new-repo my-new-repo --description "My awesome project"
102
-
103
- =======
104
- >>>>>>> d1625633dae3f9eec5bfc0bc8727dd2f8bd2e98c
105
- ### Help
106
-
107
- To view all available commands and options:
108
-
109
- ```bash
110
- gitpush_tool --help
111
- ```
112
-
113
- *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.*
114
-
115
- ## Configuration
116
-
117
- `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.
118
-
119
- Any configuration or default behaviors would typically be set through environmental variables or command-line flags. Consult the `--help` output for any such options.
120
-
121
- ## API Documentation
122
-
123
- `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.
124
-
125
- ## Contributing
126
-
127
- We welcome contributions to `gitpush_tool`! If you have suggestions for improvements, bug reports, or want to contribute code, please follow these steps:
128
-
129
- 1. **Fork** the repository on GitHub.
130
- 2. **Clone** your forked repository: `git clone https://github.com/your-username/gitpush_tool.git`
131
- 3. **Create a new branch**: `git checkout -b feature/your-feature-name` or `bugfix/issue-description`
132
- 4. **Make your changes**.
133
- 5. **Test your changes** thoroughly.
134
- 6. **Commit your changes**: `git commit -m "feat: Add new awesome feature"` (please use conventional commits if possible).
135
- 7. **Push to your branch**: `git push origin feature/your-feature-name`
136
- 8. **Open a Pull Request** against the `main` branch of the original repository.
137
-
138
- Please ensure your code adheres to good coding practices and includes relevant tests.
139
-
140
- ## License
141
-
142
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
@@ -1 +0,0 @@
1
- __version__ = "0.2.3"
@@ -1,169 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: gitpush-tool
3
- Version: 0.2.3
4
- Summary: A CLI tool to simplify Git push operations with intelligent defaults and options.
5
- Home-page: https://github.com/inevitablegs/gitpush
6
- Author: Ganesh Sonawane
7
- Author-email: sonawaneganu3101@gmail.com
8
- License: MIT
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: License :: OSI Approved :: MIT License
11
- Classifier: Operating System :: OS Independent
12
- Requires-Python: >=3.6
13
- Description-Content-Type: text/markdown
14
- License-File: LICENSE
15
- Requires-Dist: requests>=2.25.0
16
- Dynamic: author
17
- Dynamic: author-email
18
- Dynamic: classifier
19
- Dynamic: description
20
- Dynamic: description-content-type
21
- Dynamic: home-page
22
- Dynamic: license
23
- Dynamic: license-file
24
- Dynamic: requires-dist
25
- Dynamic: requires-python
26
- Dynamic: summary
27
-
28
- # `gitpush_tool`
29
-
30
- [![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)
31
- [![PyPI version](https://badge.fury.io/py/gitpush_tool.svg)](https://pypi.org/project/gitpush_tool/)
32
- [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
33
-
34
- ## About `gitpush_tool`
35
-
36
- `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.
37
-
38
- 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.
39
-
40
- ## Features
41
-
42
- * **Simplified Push Operations**: Execute common Git push commands with a more concise and user-friendly syntax.
43
- * **Intelligent Defaults**: Potentially intelligent defaulting for common push scenarios (e.g., current branch, upstream remote).
44
- * **Enhanced Workflow**: Designed to reduce keystrokes and potential errors during frequent push operations.
45
- * **Python-based**: Easily installable and extensible within the Python ecosystem.
46
- * **Lightweight**: Minimal dependencies, ensuring a small footprint and fast execution.
47
-
48
- ## Installation
49
-
50
- `gitpush_tool` is a Python package and can be easily installed using `pip`.
51
-
52
- ### Using `pip` (Recommended)
53
-
54
- To install the latest stable version from PyPI:
55
-
56
- ```bash
57
- pip install gitpush_tool
58
- ```
59
-
60
- ### From Source
61
-
62
- If you want to install the latest development version or contribute to the project, you can install it directly from the source:
63
-
64
- ```bash
65
- git clone https://github.com/your-username/gitpush_tool.git
66
- cd gitpush_tool
67
- pip install .
68
- ```
69
-
70
- For development purposes, you might want to install it in editable mode:
71
-
72
- ```bash
73
- pip install -e .
74
- ```
75
-
76
- ## Usage
77
-
78
- 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:
79
-
80
- ### Basic Push
81
-
82
- To push your current branch to its configured upstream remote:
83
-
84
- ```bash
85
- gitpush_tool
86
- ```
87
-
88
- ### Pushing a Specific Branch
89
-
90
- To push a specific local branch (`feature/xyz`) to its default remote:
91
-
92
- ```bash
93
- gitpush_tool feature/xyz
94
- ```
95
-
96
- ### Pushing to a Specific Remote and Branch
97
-
98
- To push your current branch to a specific remote (`origin`) and branch (`main`):
99
-
100
- ```bash
101
- gitpush_tool origin main
102
- ```
103
-
104
- ### Force Push (with caution!)
105
-
106
- To perform a force push (e.g., using `--force-with-lease` for safety):
107
-
108
- ```bash
109
- gitpush_tool --force
110
- # or, if the tool provides a safer alias
111
- gitpush_tool --force-lease
112
- ```
113
-
114
- ### Pushing Tags
115
-
116
- To push all local tags:
117
-
118
- ```bash
119
- gitpush_tool --tags
120
- ```
121
-
122
- <<<<<<< HEAD
123
- ### Creating and Pushing to a New GitHub Repository
124
-
125
- To create a new GitHub repository and push your code in one command:
126
-
127
- ```bash
128
- gitpush_tool "Initial commit" --new-repo my-new-repo --description "My awesome project"
129
-
130
- =======
131
- >>>>>>> d1625633dae3f9eec5bfc0bc8727dd2f8bd2e98c
132
- ### Help
133
-
134
- To view all available commands and options:
135
-
136
- ```bash
137
- gitpush_tool --help
138
- ```
139
-
140
- *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.*
141
-
142
- ## Configuration
143
-
144
- `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.
145
-
146
- Any configuration or default behaviors would typically be set through environmental variables or command-line flags. Consult the `--help` output for any such options.
147
-
148
- ## API Documentation
149
-
150
- `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.
151
-
152
- ## Contributing
153
-
154
- We welcome contributions to `gitpush_tool`! If you have suggestions for improvements, bug reports, or want to contribute code, please follow these steps:
155
-
156
- 1. **Fork** the repository on GitHub.
157
- 2. **Clone** your forked repository: `git clone https://github.com/your-username/gitpush_tool.git`
158
- 3. **Create a new branch**: `git checkout -b feature/your-feature-name` or `bugfix/issue-description`
159
- 4. **Make your changes**.
160
- 5. **Test your changes** thoroughly.
161
- 6. **Commit your changes**: `git commit -m "feat: Add new awesome feature"` (please use conventional commits if possible).
162
- 7. **Push to your branch**: `git push origin feature/your-feature-name`
163
- 8. **Open a Pull Request** against the `main` branch of the original repository.
164
-
165
- Please ensure your code adheres to good coding practices and includes relevant tests.
166
-
167
- ## License
168
-
169
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
@@ -1 +0,0 @@
1
- requests>=2.25.0
File without changes
File without changes
File without changes