feat: change g a default behavior to --no-edit
- 'g a' now keeps original commit message by default (--no-edit) - Added '--edit' flag to generate new AI commit message - Simpler workflow for quick amendments - Updated all documentation - Bumped version to 0.6.5
This commit is contained in:
@@ -1,5 +1,18 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [0.6.5] - 2025-10-20
|
||||||
|
|
||||||
|
### 🔧 Command Behavior Updated
|
||||||
|
- **`g a` (amend) default behavior changed**: Now keeps the original commit message by default (`--no-edit`)
|
||||||
|
- **New `--edit` flag**: Use `g a --edit` to generate a new AI commit message
|
||||||
|
- **Simpler workflow**: `g a` simply merges current changes into previous commit without editing the message
|
||||||
|
|
||||||
|
### 📚 Documentation Updates
|
||||||
|
- Updated all documentation to reflect the new amend behavior
|
||||||
|
- Clarified that `g a` merges changes while keeping the original message
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [0.6.4] - 2025-10-19
|
## [0.6.4] - 2025-10-19
|
||||||
|
|
||||||
### 🔧 Command Aliases Fixed
|
### 🔧 Command Aliases Fixed
|
||||||
|
|||||||
+3
-2
@@ -11,7 +11,7 @@ g o # Online - AI commit + push
|
|||||||
g ls # List - Short commit history
|
g ls # List - Short commit history
|
||||||
g ll # Large List - Detailed commit history
|
g ll # Large List - Detailed commit history
|
||||||
g h # History - Alias for list
|
g h # History - Alias for list
|
||||||
g a # Amend - Smart amend with AI
|
g a # Amend - Merge changes into previous commit (keeps message)
|
||||||
g u # Undo - Undo last commit
|
g u # Undo - Undo last commit
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -55,7 +55,8 @@ g h # Same as g ls
|
|||||||
```bash
|
```bash
|
||||||
g sg --multiple # Get 3 AI suggestions
|
g sg --multiple # Get 3 AI suggestions
|
||||||
g p # Preview before committing
|
g p # Preview before committing
|
||||||
g a # Smart amend with new AI message
|
g a # Amend: merge changes to previous commit (keeps message)
|
||||||
|
g a --edit # Amend with new AI-generated message
|
||||||
g sync --rebase # Smart sync with rebase
|
g sync --rebase # Smart sync with rebase
|
||||||
g stash # Stash with AI description
|
g stash # Stash with AI description
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ g o # AI commit + push
|
|||||||
| `g ls` | Commit history (short) |
|
| `g ls` | Commit history (short) |
|
||||||
| `g ll` | Commit history (detailed) |
|
| `g ll` | Commit history (detailed) |
|
||||||
| `g h` | Commit history (alias for ls) |
|
| `g h` | Commit history (alias for ls) |
|
||||||
| `g a` | Smart amend |
|
| `g a` | Amend previous commit (keeps message) |
|
||||||
|
|
||||||
## 🤖 AI Models
|
## 🤖 AI Models
|
||||||
|
|
||||||
|
|||||||
+8
-7
@@ -311,7 +311,7 @@ program.command('help-quick').alias('q')
|
|||||||
console.log(` ${color.cyan('g ls')} List - Short commit history`);
|
console.log(` ${color.cyan('g ls')} List - Short commit history`);
|
||||||
console.log(` ${color.cyan('g ll')} Large List - Detailed commit history`);
|
console.log(` ${color.cyan('g ll')} Large List - Detailed commit history`);
|
||||||
console.log(` ${color.cyan('g h')} History - Alias for list`);
|
console.log(` ${color.cyan('g h')} History - Alias for list`);
|
||||||
console.log(` ${color.cyan('g a')} Amend - Smart amend with AI`);
|
console.log(` ${color.cyan('g a')} Amend - Merge changes to previous commit (keeps message)`);
|
||||||
console.log(` ${color.cyan('g u')} Undo - Undo last commit\n`);
|
console.log(` ${color.cyan('g u')} Undo - Undo last commit\n`);
|
||||||
|
|
||||||
console.log(color.bold('Quick Setup:'));
|
console.log(color.bold('Quick Setup:'));
|
||||||
@@ -701,8 +701,8 @@ program.command('stash')
|
|||||||
});
|
});
|
||||||
|
|
||||||
program.command('amend').alias('a')
|
program.command('amend').alias('a')
|
||||||
.description('Stage all changes and amend last commit')
|
.description('Stage all changes and amend last commit (keeps message)')
|
||||||
.option('--no-edit', 'Keep existing commit message')
|
.option('--edit', 'Generate new AI commit message')
|
||||||
.action(async (cmdOptions) => {
|
.action(async (cmdOptions) => {
|
||||||
await ensureRepo();
|
await ensureRepo();
|
||||||
try {
|
try {
|
||||||
@@ -721,10 +721,7 @@ program.command('amend').alias('a')
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cmdOptions.noEdit) {
|
if (cmdOptions.edit) {
|
||||||
await git.raw(['commit', '--amend', '--no-edit']);
|
|
||||||
Progress.success('Amended last commit with staged changes');
|
|
||||||
} else {
|
|
||||||
// Generate new message for amend
|
// Generate new message for amend
|
||||||
Progress.start('🤖 Generating updated commit message');
|
Progress.start('🤖 Generating updated commit message');
|
||||||
const newMessage = await generateCommitMessage(rawDiff, getOpts());
|
const newMessage = await generateCommitMessage(rawDiff, getOpts());
|
||||||
@@ -732,6 +729,10 @@ program.command('amend').alias('a')
|
|||||||
|
|
||||||
await git.raw(['commit', '--amend', '-m', newMessage]);
|
await git.raw(['commit', '--amend', '-m', newMessage]);
|
||||||
Progress.success(`Amended commit: "${newMessage}"`);
|
Progress.success(`Amended commit: "${newMessage}"`);
|
||||||
|
} else {
|
||||||
|
// Default: Keep existing message (--no-edit)
|
||||||
|
await git.raw(['commit', '--amend', '--no-edit']);
|
||||||
|
Progress.success('Amended last commit with staged changes (kept original message)');
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
handleError('Amend error', e);
|
handleError('Amend error', e);
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "gims",
|
"name": "gims",
|
||||||
"version": "0.6.4",
|
"version": "0.6.5",
|
||||||
"description": "Git Made Simple – AI‑powered git helper using Gemini / OpenAI",
|
"description": "Git Made Simple – AI‑powered git helper using Gemini / OpenAI",
|
||||||
"author": "S41R4J",
|
"author": "S41R4J",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|||||||
Reference in New Issue
Block a user