Git cli
Helper for using the Git CLI to inspect, stage, commit, branch, and synchronize code changes. Use when the user wants to understand or perform Git operations...
Description
name: git-cli description: Helper for using the Git CLI to inspect, stage, commit, branch, and synchronize code changes. Use when the user wants to understand or perform Git operations from the command line, including safe status checks, diffs, branching, stashing, and syncing with remotes.
Git CLI Helper
This skill explains how to use the Git command line for everyday development tasks in a repository.
When to Use
Use this skill when:
- The user wants to know “what changed” in the working tree.
- The user wants to stage, unstage, or commit files.
- The user wants to create or switch branches.
- The user wants to pull from or push to a remote.
- The user needs help with stashing, viewing history, or inspecting diffs.
Requirements
- Git is installed and available on the PATH (for example
git --versionsucceeds). - The current directory is either:
- Inside a Git repository, or
- A location where the user intends to run
git initorgit clone.
When uncertain, suggest the user run:
git status
to see whether the current folder is a Git repository.
Safety Guidelines
- Prefer read-only commands first (
git status,git diff,git log) before suggesting changing commands. - Avoid destructive suggestions such as:
git reset --hardgit clean -fdxgit push --force
- Only mention or recommend such commands if the user explicitly asks and understands the risk.
Common Workflows
1. Inspect current state
Check what has changed and whether there are untracked files:
git status
See detailed changes in the working tree:
git diff # unstaged changes
git diff --staged # staged (to-be-committed) changes
2. Stage and unstage changes
Stage a specific file:
git add path/to/file
Stage all tracked and untracked changes:
git add .
Unstage a file (keep changes in the working tree):
git restore --staged path/to/file
3. Create commits
Create a commit with a message:
git commit -m "short, descriptive message"
If the user prefers a multi-line message, suggest:
git commit
which opens their editor.
4. Branching and switching
Create and switch to a new branch:
git checkout -b feature/my-branch
Switch to an existing branch:
git checkout main
List local branches:
git branch
5. Synchronize with remote
If the repository already has a remote (for example origin):
- Fetch latest remote data:
git fetch
- Pull latest changes into current branch:
git pull
- Push the current branch and set upstream:
git push -u origin <branch-name>
For subsequent pushes on the same branch:
git push
6. Cloning and initializing
Clone an existing remote repository:
git clone <repo-url>
Initialize a new repository in the current folder:
git init
Optionally add a remote:
git remote add origin <repo-url>
7. Stashing work-in-progress
When the user needs to temporarily put aside local changes:
git stash
List stashes:
git stash list
Apply and keep the top stash:
git stash apply
Apply and drop the top stash:
git stash pop
Viewing History and Blame
Show recent commits (compact format):
git log --oneline --decorate --graph --all
See who last changed each line of a file:
git blame path/to/file
Troubleshooting Tips
- If Git reports “not a git repository”, suggest:
- Running commands in the correct project folder, or
- Initializing with
git init(if appropriate), or - Cloning with
git clone <repo-url>.
- If a push is rejected because the remote has new commits, suggest:
git pull --rebaseorgit pull(depending on the team’s policy), then retrygit push.
- If there are merge conflicts, explain:
- The user must edit the conflicted files,
- Mark conflicts as resolved by
git add, - Then complete the merge or rebase with
git commitorgit rebase --continue.
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!