返回顶部
G

Git

Git commits, branches, rebases, merges, conflict resolution, history recovery, team workflows, and the commands needed for safe day-to-day version control. Use when (1) the task touches Git, a repository, commits, branches, merges, rebases, or pull requests; (2) history safety, collaboration, or recovery matter; (3) the agent should automatically apply Git discipline instead of improvising.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.8
安全检测
已通过
11,265
下载量
26
收藏
概述
安装方式
版本历史

Git

## When to Use Use when the task involves Git repositories, branches, commits, merges, rebases, pull requests, conflict resolution, history inspection, or recovery. This skill is stateless and should be applied by default whenever Git work is part of the job. ## Quick Reference | Topic | File | |-------|------| | Essential commands | `commands.md` | | Advanced operations | `advanced.md` | | Branch strategies | `branching.md` | | Conflict resolution | `conflicts.md` | | History and recovery | `history.md` | | Team workflows | `collaboration.md` | ## Core Rules 1. **Never force push to shared branches** — Use `--force-with-lease` on feature branches only 2. **Commit early, commit often** — Small commits are easier to review, revert, and bisect 3. **Write meaningful commit messages** — First line under 72 chars, imperative mood 4. **Pull before push** — Always `git pull --rebase` before pushing to avoid merge commits 5. **Clean up before merging** — Use `git rebase -i` to squash fixup commits ## Team Workflows **Feature Branch Flow:** 1. `git checkout -b feature/name` from main 2. Make commits, push regularly 3. Open PR, get review 4. Squash and merge to main 5. Delete feature branch **Hotfix Flow:** 1. `git checkout -b hotfix/issue` from main 2. Fix, test, commit 3. Merge to main AND develop (if exists) 4. Tag the release **Daily Sync:** ```bash git fetch --all --prune git rebase origin/main # or merge if team prefers ``` ## Commit Messages - Use conventional commit format: `type(scope): description` - Keep first line under 72 characters - Types: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore` ## Push Safety - Use `git push --force-with-lease` instead of `--force` — prevents overwriting others' work - If push rejected, run `git pull --rebase` before retrying - Never force push to main/master branch ## Conflict Resolution - After editing conflicted files, verify no markers remain: `grep -r "<<<\|>>>\|===" .` - Test that code builds before completing merge - If merge becomes complex, abort with `git merge --abort` and try `git rebase` instead ## Branch Hygiene - Delete merged branches locally: `git branch -d branch-name` - Clean remote tracking: `git fetch --prune` - Before creating PR, rebase feature branch onto latest main - Use `git rebase -i` to squash messy commits before pushing ## Safety Checklist Before destructive operations (`reset --hard`, `rebase`, `force push`): - [ ] Is this a shared branch? → Don't rewrite history - [ ] Do I have uncommitted changes? → Stash or commit first - [ ] Am I on the right branch? → `git branch` to verify - [ ] Is remote up to date? → `git fetch` first ## Common Traps - **git user.email wrong** — Verify with `git config user.email` before important commits - **Empty directories** — Git doesn't track them, add `.gitkeep` - **Submodules** — Always clone with `--recurse-submodules` - **Detached HEAD** — Use `git switch -` to return to previous branch - **Push rejected** — Usually needs `git pull --rebase` first - **stash pop on conflict** — Stash disappears. Use `stash apply` instead - **Large files** — Use Git LFS for files >50MB, never commit secrets - **Case sensitivity** — Mac/Windows ignore case, Linux doesn't — causes CI failures ## Recovery Commands - Undo last commit keeping changes: `git reset --soft HEAD~1` - Discard unstaged changes: `git restore filename` - Find lost commits: `git reflog` (keeps ~90 days of history) - Recover deleted branch: `git checkout -b branch-name <sha-from-reflog>` - Use `git add -p` for partial staging when commit mixes multiple changes ## Debugging with Bisect Find the commit that introduced a bug: ```bash git bisect start git bisect bad # current commit is broken git bisect good v1.0.0 # this version worked # Git checks out middle commit, test it, then: git bisect good # or git bisect bad # Repeat until Git finds the culprit git bisect reset # return to original branch ``` ## Quick Summary ```bash git status -sb # short status with branch git log --oneline -5 # last 5 commits git shortlog -sn # contributors by commit count git diff --stat HEAD~5 # changes summary last 5 commits git branch -vv # branches with tracking info git stash list # pending stashes ``` ## Related Skills Install with `clawhub install <slug>` if user confirms: - `gitlab` — GitLab CI/CD and merge requests - `docker` — Containerization workflows - `code` — Code quality and best practices ## Feedback - If useful: `clawhub star git` - Stay updated: `clawhub sync`

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 git-1776022182 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 git-1776022182 技能

通过命令行安装

skillhub install git-1776022182

下载 Zip 包

⬇ 下载 Git v1.0.8

文件大小: 9.05 KB | 发布时间: 2026-4-13 10:26

v1.0.8 最新 2026-4-13 10:26
Simplified the skill name and kept the stateless activation guidance

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部