返回顶部
d

doro-git-essentials

Essential Git commands and workflows for version control, branching, and collaboration.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
646
下载量
0
收藏
概述
安装方式
版本历史

doro-git-essentials

# Git Essentials Essential Git commands for version control and collaboration. ## Initial Setup ```bash # Configure user git config --global user.name "Your Name" git config --global user.email "your@email.com" # Initialize repository git init # Clone repository git clone https://github.com/user/repo.git git clone https://github.com/user/repo.git custom-name ``` ## Basic Workflow ### Staging and committing ```bash # Check status git status # Add files to staging git add file.txt git add . git add -A # All changes including deletions # Commit changes git commit -m "Commit message" # Add and commit in one step git commit -am "Message" # Amend last commit git commit --amend -m "New message" git commit --amend --no-edit # Keep message ``` ### Viewing changes ```bash # Show unstaged changes git diff # Show staged changes git diff --staged # Show changes in specific file git diff file.txt # Show changes between commits git diff commit1 commit2 ``` ## Branching & Merging ### Branch management ```bash # List branches git branch git branch -a # Include remote branches # Create branch git branch feature-name # Switch branch git checkout feature-name git switch feature-name # Modern alternative # Create and switch git checkout -b feature-name git switch -c feature-name # Delete branch git branch -d branch-name git branch -D branch-name # Force delete # Rename branch git branch -m old-name new-name ``` ### Merging ```bash # Merge branch into current git merge feature-name # Merge with no fast-forward git merge --no-ff feature-name # Abort merge git merge --abort # Show merge conflicts git diff --name-only --diff-filter=U ``` ## Remote Operations ### Managing remotes ```bash # List remotes git remote -v # Add remote git remote add origin https://github.com/user/repo.git # Change remote URL git remote set-url origin https://github.com/user/new-repo.git # Remove remote git remote remove origin ``` ### Syncing with remote ```bash # Fetch from remote git fetch origin # Pull changes (fetch + merge) git pull # Pull with rebase git pull --rebase # Push changes git push # Push new branch git push -u origin branch-name # Force push (careful!) git push --force-with-lease ``` ## History & Logs ### Viewing history ```bash # Show commit history git log # One line per commit git log --oneline # With graph git log --graph --oneline --all # Last N commits git log -5 # Commits by author git log --author="Name" # Commits in date range git log --since="2 weeks ago" git log --until="2024-01-01" # File history git log -- file.txt ``` ### Searching history ```bash # Search commit messages git log --grep="bug fix" # Search code changes git log -S "function_name" # Show who changed each line git blame file.txt # Find commit that introduced bug git bisect start git bisect bad git bisect good commit-hash ``` ## Undoing Changes ### Working directory ```bash # Discard changes in file git restore file.txt git checkout -- file.txt # Old way # Discard all changes git restore . ``` ### Staging area ```bash # Unstage file git restore --staged file.txt git reset HEAD file.txt # Old way # Unstage all git reset ``` ### Commits ```bash # Undo last commit (keep changes) git reset --soft HEAD~1 # Undo last commit (discard changes) git reset --hard HEAD~1 # Revert commit (create new commit) git revert commit-hash # Reset to specific commit git reset --hard commit-hash ``` ## Stashing ```bash # Stash changes git stash # Stash with message git stash save "Work in progress" # List stashes git stash list # Apply latest stash git stash apply # Apply and remove stash git stash pop # Apply specific stash git stash apply stash@{2} # Delete stash git stash drop stash@{0} # Clear all stashes git stash clear ``` ## Rebasing ```bash # Rebase current branch git rebase main # Interactive rebase (last 3 commits) git rebase -i HEAD~3 # Continue after resolving conflicts git rebase --continue # Skip current commit git rebase --skip # Abort rebase git rebase --abort ``` ## Tags ```bash # List tags git tag # Create lightweight tag git tag v1.0.0 # Create annotated tag git tag -a v1.0.0 -m "Version 1.0.0" # Tag specific commit git tag v1.0.0 commit-hash # Push tag git push origin v1.0.0 # Push all tags git push --tags # Delete tag git tag -d v1.0.0 git push origin --delete v1.0.0 ``` ## Advanced Operations ### Cherry-pick ```bash # Apply specific commit git cherry-pick commit-hash # Cherry-pick without committing git cherry-pick -n commit-hash ``` ### Submodules ```bash # Add submodule git submodule add https://github.com/user/repo.git path/ # Initialize submodules git submodule init # Update submodules git submodule update # Clone with submodules git clone --recursive https://github.com/user/repo.git ``` ### Clean ```bash # Preview files to be deleted git clean -n # Delete untracked files git clean -f # Delete untracked files and directories git clean -fd # Include ignored files git clean -fdx ``` ## Common Workflows **Feature branch workflow:** ```bash git checkout -b feature/new-feature # Make changes git add . git commit -m "Add new feature" git push -u origin feature/new-feature # Create PR, then after merge: git checkout main git pull git branch -d feature/new-feature ``` **Hotfix workflow:** ```bash git checkout main git pull git checkout -b hotfix/critical-bug # Fix bug git commit -am "Fix critical bug" git push -u origin hotfix/critical-bug # After merge: git checkout main && git pull ``` **Syncing fork:** ```bash git remote add upstream https://github.com/original/repo.git git fetch upstream git checkout main git merge upstream/main git push origin main ``` ## Useful Aliases Add to `~/.gitconfig`: ```ini [alias] st = status co = checkout br = branch ci = commit unstage = reset HEAD -- last = log -1 HEAD visual = log --graph --oneline --all amend = commit --amend --no-edit ``` ## Tips - Commit often, perfect later (interactive rebase) - Write meaningful commit messages - Use `.gitignore` for files to exclude - Never force push to shared branches - Pull before starting work - Use feature branches, not main - Rebase feature branches before merging - Use `--force-with-lease` instead of `--force` ## Common Issues **Undo accidental commit:** ```bash git reset --soft HEAD~1 ``` **Recover deleted branch:** ```bash git reflog git checkout -b branch-name <commit-hash> ``` **Fix wrong commit message:** ```bash git commit --amend -m "Correct message" ``` **Resolve merge conflicts:** ```bash # Edit files to resolve conflicts git add resolved-files git commit # Or git merge --continue ``` ## Documentation Official docs: https://git-scm.com/doc Pro Git book: https://git-scm.com/book Visual Git guide: https://marklodato.github.io/visual-git-guide/

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 doro-git-essentials-1776305241 技能

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

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

通过命令行安装

skillhub install doro-git-essentials-1776305241

下载 Zip 包

⬇ 下载 doro-git-essentials v1.0.0

文件大小: 3.08 KB | 发布时间: 2026-4-16 18:05

v1.0.0 最新 2026-4-16 18:05
Initial release providing a comprehensive Git essentials guide.

- Covers core Git commands for setup, committing, branching, and merging
- Includes remote operations, history viewing, undoing changes, and stashing
- Details advanced actions like rebasing, cherry-picking, submodules, and cleaning
- Features common workflows, useful aliases, tips, and troubleshooting
- Links to official documentation and guides

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

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

p2p_official_large
返回顶部