push
Send already-committed work to the remote without making a new commit. Pushes the current branch; on a branch's first push, sets the remote branch as its upstream automatically.
remoteNameworkingDirectory
io.github.greenmtnsunPublished by GitHub account greenmtnsunv1.6.2Updated Oct 25, 2026
Plain-English git for agents: 22 tools to branch, commit, push and tag. Free tier.
A remote MCP server that lets an assistant run everyday Git tasks in plain terms: branch, commit, push, tag, inspect history and manage credentials.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.greenmtnsun%2Fgiteasy/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"giteasy": {
"type": "http",
"url": "https://giteasy-mcp.azurewebsites.net/mcp",
"headers": {
"X-Api-Key": "<YOUR_API_KEY>"
}
}
}
}[GitEasy — Plain-English Git for everyone who isn't a developer]
A PowerShell module that lets a Git-clueless person save and publish their work without learning Git jargon.
I'm Keith Ramsey. For a living, I'm a SQL Server database administrator, and in my spare time, I'm a massive PowerShell enthusiast. For the past thirteen years, I've worked on the same team, quietly building internal tools to solve our specific headaches. GitEasy is a new chapter for me. It's the first tool I've ever released to the public, and honestly, the process of designing for strangers—polishing the code, writing in plain English just to be helpful—has been an absolute blast.
If you're checking out this module, I don't just hope you like it—I hope it gives you a sense of relief. I'll admit it: Git used to scare me. I've messed up commits, walked away from my desk in frustration, and told myself I'd figure it out tomorrow. While full-time developers breeze through Git, I work alongside DBAs, compliance teams, and change managers. We're the folks who just want our old TFS check-ins back. Git isn't just a tool; it's a whole new vocabulary filled with traps.
For a long time, we managed to avoid it. But eventually, the mandate came down: Git is here, learn it. Sitting there, feeling like I was studying for a final exam just to save a file, the concept for GitEasy clicked. What if we could strip away the jargon? What if checking in code didn't require an entirely new vocabulary?
Enter GitEasy. Just five simple commands. No confusing raw Git text. One log file per action. It's a frictionless wrapper—if you know Git, you can bypass it anytime. If you don't, you'll never need to see the scary stuff.
One important note: for now, I'm the only one making changes to GitEasy. Setting up the right legal paperwork to accept code changes from other people involves a lawyer, and I'd rather put my time and money into shipping more useful code than into legal forms I might have to redo. It's not a permanent stance; I'm just taking it slow. But rest assured, GitEasy is licensed under MPL 2.0, which means anyone is free to pick up the code and continue with it on their own. The project's survival doesn't depend on me.
I completely understand if that decision gives you pause. I'm just a guy figuring out the open-source world one step at a time. The door isn't bolted, it's just closed for today. I am fully open to bug reports and feature ideas — head to the GitHub project and open an Issue, tell me what you need, and I'll read it. No code necessary. If you want to chat, find me at @greenmtnsun on GitHub.
If you've ever closed PowerShell because the Git error message felt scarier than the change you were trying to save: this was built for you. I hope it brings some relief — and that you enjoy using it. Take care.
Short status notes from Keith. Newest at top. Edit / extend as the project moves.
Added docs/USING-IN-CI-AND-AGENTS.md. It's a single contract for anyone who wants to use GitEasy from a CI pipeline (GitHub Actions, Azure Pipelines, GitLab) or an AI coding agent. Deliberately does not ask consumers to run my own test suite or jargon audit — those are my quality bars, not theirs.
No CLA in place; I'm not investing in legal until there's a real reason to. Bug reports as Issues are welcome. PRs won't be reviewed. When that changes, this note will say so.
1.5.3 is feature-complete, manifest-ready (icon, in-repo LicenseUri, inline plaintext release notes, 14 audience-tagged keywords), and the .nupkg builds cleanly with per-doc PDFs included. I'm holding the actual PSGallery publish until I decide whether to flip the repo to public. The first outside user (Tycro) is installing from a private-repo clone right now — that's working fine.
Three credential-surface findings closed (F-04 / F-05 / F-06) covering sibling-pattern bugs the 1.5.1 review missed. Full kill-test suite added in Tests/GitEasy.AuthHardening.Tests.ps1. If you're using GitEasy with a credential helper, you want at least 1.5.2.
A small set of plain-English commands. The complicated stuff stays inside the engine; what you see and type stays simple.
When something goes wrong, you get a plain-English message and a path to a self-contained log file with the technical detail. No raw Git output is ever shown to the user.
Friend-fast install (PS 5.1 and PS 7, no admin needed):
That drops GitEasy into your user-scope PowerShell module folder
(which is on $env:PSModulePath by default), so
Import-Module GitEasy works from anywhere. See
docs/HOW-TO-USE-GITEASY.md for the
offline-install path and all-users scope.
Once a PowerShell Gallery release lands, the install becomes:
The PowerShell Gallery page (when published) will be at powershellgallery.com/packages/GitEasy.
If the repo has not been published anywhere yet, Save-Work will tell you so and save locally. When you connect a published location later, the next Save-Work will publish everything you have saved up to that point.
Each command has full comment-based help — Get-Help <Command> -Full for the friendly version.
Every public command writes a small log file under %LOCALAPPDATA%\GitEasy\Logs. Successful runs log silently. Failures throw a plain-English message and tell you the log path so a Git-aware person can read what happened.
Logs older than 30 days are pruned automatically.
The full documentation lives in the GitHub Wiki. Every public command has its own page with synopsis, examples, safety notes, and a related-commands cross-reference. Every private helper has a similar page for maintainers.
PATH.Running GitEasy from a CI job or an AI agent? See docs/USING-IN-CI-AND-AGENTS.md — one-page contract for consumers.
GitEasy is at 1.5.3 — feature-complete public surface (21 commands), 569 Pester tests on both PowerShell hosts, and full plain-English contract.
See CHANGELOG.md for the history.
GitEasy is maintained by a single author and is not currently accepting outside pull requests — no contributor agreement is in place. Bug reports as Issues are welcome.
The author's quality bar (test discipline, no-jargon rule, diagnostic-log session pattern) is documented in CONTRIBUTING.md for transparency.
Mozilla Public License 2.0. File-level copyleft: anyone can use, modify, and embed this code in proprietary or open projects, but modifications to GitEasy's own files must be released under MPL-2.0.
Keith Ramsey (@greenmtnsun).
Source: README.md at commit ced9265
Send already-committed work to the remote without making a new commit. Pushes the current branch; on a branch's first push, sets the remote branch as its upstream automatically.
remoteNameworkingDirectoryShow git repository diagnostic info: current branch, upstream, HEAD SHA, remote URLs, and status summary.
workingDirectoryConfigure the git credential helper to use a specific vault path. Returns new credential helper value.
vaultPathworkingDirectoryRestore a single file to its HEAD state, discarding uncommitted changes. Returns restored file path.
filePathworkingDirectoryClear stored git credentials by unsetting the credential helper in local git config. Returns confirmation.
workingDirectoryChange a remote URL to its SSH equivalent. Returns old and new remote URLs.
sshUrlremoteNameworkingDirectoryStage changes, commit with a message, and optionally push to remote. Returns commit SHA and push result.
filesmessagepushToRemoteworkingDirectoryReport current git credential helper configuration. Returns helper name and scope.
workingDirectoryTest whether git credentials are working by attempting ls-remote against the origin. Returns success/failure and remote refs count.
remoteNameworkingDirectoryList all tags/releases in the repository, newest first. Returns tag names, target SHAs, and annotation messages.
workingDirectoryShow the diff for a specific file or all changed files. Returns unified diff text.
stagedfilePathworkingDirectoryCreate an annotated git tag and push it to the remote. Returns the tag name and target commit SHA.
messagetagNameremoteNameworkingDirectoryList changed files: staged, unstaged, and untracked. Returns file counts and paths by status group.
workingDirectoryShow all remote names and their fetch/push URLs. Returns list of remotes with URL and type.
workingDirectoryFetch from remote and show incoming commits not yet in local branch. Returns count and commit summaries.
remoteNameworkingDirectoryDiscard uncommitted changes. If filePath given, restores that file; otherwise restores all tracked files. Returns list of restored paths.
filePathworkingDirectorySwitch to an existing branch. Returns the branch switched to and current HEAD SHA.
branchNameworkingDirectorySearch commit history for commits whose message matches a search term. Returns matching commits with SHA, author, date, and message.
limitsearchTermworkingDirectoryShow recent commit history. Returns commits with SHA, author, date, and message.
limitbranchNameworkingDirectoryCreate a new branch from current HEAD and switch to it. Returns branch name and base commit SHA.
branchNameworkingDirectoryStore a personal access token for HTTP git authentication. Returns confirmation (token value is never echoed).
tokenworkingDirectoryRemove untracked files and directories from the working tree (git clean -fd). Returns list of removed paths.
workingDirectory100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Find-CodeChange # What has changed?Save-Work 'fix readme' # Save and publish in one step.Show-History # Recent saved points.Show-Remote # Where this folder is published.$Edition = if ($PSVersionTable.PSEdition -eq 'Core') { 'PowerShell' } else { 'WindowsPowerShell' }$ModuleDir = Join-Path $HOME "Documents\$Edition\Modules\GitEasy"git clone https://github.com/greenmtnsun/GitEasy.git $ModuleDirImport-Module GitEasyInstall-Module GitEasy -Scope CurrentUser# In any folder that is already a Git repo:Find-CodeChangeSave-Work 'first save'Show-History -Count 5Show-Diagnostic # Open the most recent log.Show-Diagnostic -List # List recent logs.Show-Diagnostic -All # Open the logs folder.