AutoGit
Git automation directly from the VS Code Command Palette.
AutoGit eliminates the need to constantly open a terminal while working on Git repositories. Everything is accessible from the Command Palette, with automatic staging, committing, and pushing capabilities.
Features
- Full Git Command Palette - All Git operations accessible via
Ctrl+Shift+P
- Auto Stage - Automatically stages changes when files are saved
- Auto Commit - Automatically commits staged changes with timestamp, prompt, or smart commit messages
- Auto Push - Automatically pushes commits to remote repository
- Scheduler - Schedule automatic commits and pushes at configurable intervals
- Smart Sync - One-click sync (pull, add, commit, push)
- Branch Management - Create, delete, rename, switch, merge, and rebase branches
- Remote Management - Add, change, remove, and view remotes
- Stash Management - Create, apply, pop, and delete stashes
- Tag Management - Create, delete, and list tags
- .gitignore Generator - Auto-detect project type and generate appropriate
.gitignore
- Status Bar - Quick status indicator and toggle
- Verbose Logging - Dedicated output channel for diagnostics
Installation
From VS Code Marketplace
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X)
- Search for "AutoGit"
- Click Install
From VSIX
- Download the
.vsix file from the releases page
- In VS Code, go to Extensions (
Ctrl+Shift+X)
- Click the "..." menu and select "Install from VSIX..."
- Select the downloaded file
From Source
git clone https://github.com/your-username/autogit.git
cd autogit
npm install
npm run compile
code .
Press F5 to launch the extension in development mode.
Commands
Repository
| Command |
Description |
AutoGit: Initialize Repository |
Run git init in the current workspace |
AutoGit: Set Repository URL |
Configure remote repository URL |
AutoGit: Clone Repository |
Clone a remote repository |
AutoGit: Open Repository |
Open repository in browser |
AutoGit: Copy Repository URL |
Copy remote URL to clipboard |
Enable / Disable
| Command |
Description |
AutoGit: Enable |
Turn AutoGit ON |
AutoGit: Disable |
Turn AutoGit OFF |
AutoGit: Toggle |
Toggle AutoGit on/off |
Auto Operations
| Command |
Description |
AutoGit: Enable Auto Stage |
Auto-stage files on save |
AutoGit: Disable Auto Stage |
Disable auto-stage |
AutoGit: Enable Auto Commit |
Auto-commit with configurable mode |
AutoGit: Disable Auto Commit |
Disable auto-commit |
AutoGit: Enable Auto Push |
Auto-push after commit |
AutoGit: Disable Auto Push |
Disable auto-push |
AutoGit: Configure Scheduler |
Set auto-push interval |
Git Operations
| Command |
Description |
AutoGit: Status |
View repository status |
AutoGit: Fetch |
Fetch from remote |
AutoGit: Pull |
Pull from remote |
AutoGit: Pull (Rebase) |
Pull with rebase |
AutoGit: Push |
Push to remote |
AutoGit: Force Push |
Force push (with confirmation) |
AutoGit: Push Tags |
Push tags to remote |
AutoGit: Stage All |
Stage all changes |
AutoGit: Commit |
Commit staged changes |
AutoGit: Quick Commit |
Stage all and commit |
AutoGit: Undo Last Commit |
Soft undo of last commit |
AutoGit: Reset Soft |
Soft reset to a commit |
AutoGit: Reset Mixed |
Mixed reset to a commit |
AutoGit: Reset Hard |
Hard reset (with confirmation) |
AutoGit: Restore File |
Restore a specific file |
AutoGit: Clean Repository |
Remove untracked files |
AutoGit: View Diff |
View working tree diff summary |
AutoGit: Commit History |
Browse recent commits |
AutoGit: Sync Repository |
Full sync (pull, add, commit, push) |
Branch Management
| Command |
Description |
AutoGit: Create Branch |
Create a new branch |
AutoGit: Delete Branch |
Delete a branch |
AutoGit: Rename Branch |
Rename a branch |
AutoGit: Switch Branch |
Switch to another branch |
AutoGit: Merge Branch |
Merge a branch into current |
AutoGit: Rebase Branch |
Rebase current branch |
AutoGit: List Branches |
Show all branches |
Remote Management
| Command |
Description |
AutoGit: Add Remote |
Add a new remote |
AutoGit: Change Remote |
Change remote URL |
AutoGit: Remove Remote |
Remove a remote |
AutoGit: Show Remotes |
List all remotes |
Stash
| Command |
Description |
AutoGit: Create Stash |
Stash working changes |
AutoGit: Apply Stash |
Apply a stash |
AutoGit: Pop Stash |
Pop a stash |
AutoGit: Delete Stash |
Delete a stash |
AutoGit: List Stashes |
Show all stashes |
| Command |
Description |
AutoGit: Create Tag |
Create a tag |
AutoGit: Delete Tag |
Delete a tag |
AutoGit: List Tags |
Show all tags |
Other
| Command |
Description |
AutoGit: Generate .gitignore |
Generate project-specific .gitignore |
AutoGit: Detect Project Type |
Auto-detect project type |
Configuration
| Setting |
Type |
Default |
Description |
autogit.enabled |
boolean |
true |
Enable/disable AutoGit |
autogit.autoStage |
boolean |
false |
Auto-stage on save |
autogit.autoCommit |
boolean |
false |
Auto-commit staged changes |
autogit.autoPush |
boolean |
false |
Auto-push after commit |
autogit.commitMode |
string |
"timestamp" |
Commit mode: timestamp, prompt, or smart |
autogit.schedulerInterval |
string |
"disabled" |
Scheduler interval |
autogit.customIntervalMinutes |
number |
10 |
Custom interval in minutes |
autogit.remote |
string |
"origin" |
Default remote name |
autogit.verboseLogs |
boolean |
true |
Enable verbose logging |
autogit.smartCommitPrompt |
boolean |
true |
Confirm smart commit messages |
Commit Modes
Timestamp
Automatically generates commit messages based on the current time:
Update - 2026-07-24 14:35
Prompt
Shows an input box each time a commit is needed, allowing you to type a custom message.
Smart
Analyzes changed files and generates a descriptive commit message:
Add .ts files in src - 2026-07-24 14:35
The smart mode is designed to be extended with AI integration for generating context-aware commit messages.
Error Handling
AutoGit provides friendly error messages for common scenarios:
- Not a git repository - Prompts you to initialize one
- Authentication failure - Advises checking credentials
- Network error - Alerts about connectivity issues
- Merge conflicts - Detected and reported with guidance
- Detached HEAD - Warns and suggests checking out a branch
- No remote configured - Guides through remote setup
Roadmap
- [ ] GitHub integration (Releases, Issues, PRs, Actions)
- [ ] GitLab, Bitbucket, Azure DevOps support
- [ ] AI-generated commit messages
- [ ] Commit summaries and analytics
- [ ] Daily backup scheduling
- [ ] Automatic changelog generation
- [ ] Offline commit queue with deferred push
- [ ] Project profiles and presets
- [ ] Repository analytics dashboard
FAQ
Q: Do I need Git installed?
Yes, AutoGit requires Git to be installed on your system and available in your PATH.
Q: Does AutoGit work with any Git provider?
Yes, AutoGit works with GitHub, GitLab, Bitbucket, Azure DevOps, and any other Git provider.
Q: Can I use AutoGit with multiple workspaces?
AutoGit works with the currently open workspace folder. Switch workspaces to work with different repositories.
Q: Will AutoGit commit all my changes automatically?
Only if you enable Auto Commit. By default, you have full control over commits.
Q: Is my data safe?
AutoGit only interacts with your local Git repository. No data is sent to external services.
Contributing
Contributions are welcome! Please read our contributing guidelines before submitting pull requests.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature)
- Commit your changes (
git commit -m 'Add amazing feature')
- Push to the branch (
git push origin feature/amazing-feature)
- Open a Pull Request