# push
> Commit staged changes and push to remote
- Author: Alexander Opalic
- Repository: alexanderop/dotfiles
- Version: 20260125155123
- Stars: 4
- Forks: 0
- Last Updated: 2026-02-07
- Source: https://github.com/alexanderop/dotfiles
- Web: https://mule.run/skillshub/@@alexanderop/dotfiles~push:20260125155123
---
---
name: push
description: Commit staged changes and push to remote
allowed-tools: Bash(git status), Bash(git diff:*), Bash(git log:*), Bash(git add:*), Bash(git commit:*), Bash(git push:*), Bash(git rev-parse:*), Bash(git remote:*)
---
# Commit and Push
I have gathered information about your changes. Here are the results:
!`git status`
!`git diff --cached`
!`git diff`
!`git log --oneline -10`
!`git rev-parse --abbrev-ref HEAD`
!`git remote -v`
## Instructions
### Step 1: Commit (if there are changes)
1. **Analyze the diffs** above to understand what changed.
2. **Stage files** if needed (skip already staged files, skip files that shouldn't be committed like `.env`).
3. **Generate a conventional commit message** following this format:
```text
():
[optional body]
```
Types: `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`
4. **Create the commit** using a HEREDOC for proper formatting:
```bash
git commit -m "$(cat <<'EOF'
type(scope): description
EOF
)"
```
### Step 2: Push
5. **Push to remote** using the current branch:
```bash
git push origin
```
If the branch doesn't have an upstream, use:
```bash
git push -u origin
```
6. **Show the result** with `git log -1` to confirm the commit, and verify the push succeeded.