gitbash 1.6.3 → 1.6.4
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 +7 -4
- package/bin/gitbash +4 -4
- package/docs/workflows.md +30 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# gitbash
|
|
2
2
|
|
|
3
|
-
|
|
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
|

|
|
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
|
-
#
|
|
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
|
-
|
|
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 (
|
|
204
|
+
echo " ✓ fzf (optional)"
|
|
205
205
|
else
|
|
206
|
-
echo " ✗ fzf (
|
|
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`.
|