gitbash 1.6.3 → 1.6.5

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.
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # gitbash
2
2
 
3
- Interactive git utilities for bash with fzf-powered menus.
3
+ Pure bash, zero dependency git commands. Reduce repetitive typing and supercharge git workflows with interactive previews and safe cleanup - see a [full comparison](./docs/workflows.md).
4
+ Optional interactive previews, feturing [fzf](https://github.com/junegunn/fzf), [delta](https://github.com/dandavison/delta) and [bat](https://github.com/sharkdp/bat).
4
5
 
5
6
  ![screenshot-status.png](./docs/screenshot-status.png)
6
7
 
@@ -24,10 +25,8 @@ gitbash --config # Interactive configuration wizard
24
25
  ### Dependencies
25
26
 
26
27
  ```bash
27
- # Required
28
- brew install fzf
29
-
30
28
  # Optional (recommended)
29
+ brew install fzf # Interactive menus and previews
31
30
  brew install git-delta # Better diff highlighting
32
31
  brew install bat # File preview with syntax highlighting
33
32
  ```
@@ -57,6 +56,7 @@ Create feature branch with optional Jira parsing. Updates main first, pushes and
57
56
  **Examples with custom prefix** (`GITBASH_CREATE_BRANCH_PREFIX="awesome-team"`):
58
57
 
59
58
  With issue parsing enabled (default):
59
+
60
60
  ```bash
61
61
  create PROJ-123 fix login bug # → feature/awesome-team/PROJ-123-fix-login-bug
62
62
  create fix bug # → feature/awesome-team/NOISSUE-fix-bug
@@ -65,6 +65,7 @@ create # Interactive mode with Jira prompt
65
65
  ```
66
66
 
67
67
  With issue parsing disabled (`GITBASH_CREATE_NO_ISSUE_PARSING="yes"`):
68
+
68
69
  ```bash
69
70
  create fix login bug # → feature/awesome-team/fix-login-bug
70
71
  create --hotfix enhance security # → hotfix/awesome-team/enhance-security
@@ -74,12 +75,14 @@ create # Interactive mode (no Jira prompt)
74
75
  **Examples with empty prefix** (`GITBASH_CREATE_BRANCH_PREFIX=""`, default):
75
76
 
76
77
  With parsing enabled:
78
+
77
79
  ```bash
78
80
  create PROJ-123 fix bug # → feature/PROJ-123-fix-bug
79
81
  create fix bug # → feature/NOISSUE-fix-bug
80
82
  ```
81
83
 
82
84
  With parsing disabled:
85
+
83
86
  ```bash
84
87
  create enhance login screen # → feature/enhance-login-screen
85
88
  ```
package/bin/gitbash CHANGED
@@ -176,9 +176,9 @@ check_dependencies() {
176
176
  local missing_required=()
177
177
  local missing_optional=()
178
178
 
179
- # Required dependencies
179
+ # Optional dependencies (fzf is optional; commands will try to run without it)
180
180
  if ! command -v fzf >/dev/null 2>&1; then
181
- missing_required+=("fzf")
181
+ missing_optional+=("fzf")
182
182
  fi
183
183
 
184
184
  # Optional dependencies
@@ -201,9 +201,9 @@ check_dependencies() {
201
201
 
202
202
  # Show status of each dependency
203
203
  if command -v fzf >/dev/null 2>&1; then
204
- echo " ✓ fzf (required)"
204
+ echo " ✓ fzf (optional)"
205
205
  else
206
- echo " ✗ fzf (required) - fuzzy finder for interactive selection"
206
+ echo " ✗ fzf (optional) - fuzzy finder for interactive selection"
207
207
  fi
208
208
 
209
209
  if command -v delta >/dev/null 2>&1; then
@@ -0,0 +1,30 @@
1
+ # Git Workflows — gitbash vs plain git
2
+
3
+ Gitbash reduces repetitive typing and provides interactive previews and safe cleanup.
4
+
5
+ - Plain git: ~900 typed characters
6
+ - Gitbash: ~300 typed characters
7
+
8
+ | Action / Grouped Steps | gitbash | git |
9
+ | ------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------- |
10
+ | Checkout base branch | `switch main` | `git switch main` |
11
+ | Create feature branch (from latest main) | `create PROJ-123 add login` | `git switch -c feature/PROJ-123-add-login main`<br>`git push -u origin feature/PROJ-123-add-login` |
12
+ | Create a stash (WIP) | `stash "WIP PROJ-123 implement login"` | `git stash push -u -m "WIP PROJ-123 implement login"` |
13
+ | Create + switch to another branch (ensure main up-to-date) | `create OTHER-456 fix typo` | `git switch main`<br>`git pull origin main`<br>`git switch -c bugfix/OTHER-456-fix-typo main`<br>`git push -u origin bugfix/OTHER-456-fix-typo` |
14
+ | Implement changes on other branch, commit & push | `commit -p "fix(OTHER-456): fix typo"` | `git add -A`<br>`git commit -m "fix(OTHER-456): fix typo"`<br>`git push -u origin bugfix/OTHER-456-fix-typo` |
15
+ | Switch back to original Jira branch | `switch PROJ-123` | `git switch feature/PROJ-123-add-login` |
16
+ | Verify main was up-to-date at creation time<br>Update feature branch by merging current `main` into it | `update` | `git fetch origin`<br>`git log --oneline HEAD..origin/main`<br>`git pull origin main` (run while on feature branch) |
17
+ | Review changes (status + diff) | `status` | `git status`<br>`git diff` |
18
+ | Stage & commit | `status` → stage<br>`commit -p "PROJ-123: implement feature X"` | `git add -A`<br>`git commit -m "PROJ-123: implement feature X"`<br>`git push origin feature/PROJ-123-add-login` |
19
+ | Create Pull Request (open compare page) | `pr` | Open browser<br>`https://github.com/<owner>/<repo>/compare/feature/PROJ-123-add-login?expand=1` |
20
+ | Merge PR & update local main | `switch main` | `git switch main`<br>`git pull origin main` |
21
+ | Create next branch from latest main | `create PROJ-124 implement next thing` | `git switch -c feature/PROJ-124-new-thing main`<br>`git push -u origin feature/PROJ-124-new-thing` |
22
+ | Clean up merged local branches | `cleanup` | `git fetch --prune origin`<br>`git branch --merged main`<br>`git branch -d <branch>` |
23
+ | List / show stashes | `stashes` | `git stash list`<br>`git stash show -p stash@{0}` |
24
+ | Apply / remove stash | `unstash` | `git stash apply stash@{0}`<br>`git stash drop stash@{0}` |
25
+ | Clean up stashes | `cleanstash` | `git stash clear` |
26
+
27
+ Notes
28
+
29
+ - This document compares a full feature workflow step-by-step.
30
+ - The "gitbash" column assumes the commands from gitbash are installed globally (no `gitbash` prefix). Example Jira keys: `PROJ-123`, `OTHER-456`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gitbash",
3
- "version": "1.6.3",
3
+ "version": "1.6.5",
4
4
  "description": "Opinionated git utilities for bash with fzf-powered menus",
5
5
  "author": "jaggli",
6
6
  "license": "MIT",