Git常用命令

nodcat
9
2025-06-18

1. 仓库初始化与克隆

命令解释场景
git init初始化本地仓库新建项目时创建 Git 管理
git clone <url>克隆远程仓库到本地下载开源项目或团队仓库
git remote add origin <url>添加远程仓库地址关联本地仓库与远程仓库
git remote -v查看远程仓库信息确认已配置的远程仓库

2. 基础修改与提交

命令解释场景
git status查看工作区状态确认哪些文件被修改/未跟踪
git add <file>将文件添加到暂存区准备提交特定文件
git add .添加所有修改到暂存区快速暂存全部变更
git commit -m "msg"提交变更到本地仓库保存一个逻辑修改单元
git commit --amend修改最后一次提交修正提交信息或漏掉的文件

3. 分支管理

命令解释场景
git branch查看本地分支确认当前分支和所有分支
git branch <name>创建新分支开发新功能或修复 Bug
git checkout <branch>切换到指定分支切换工作上下文
git checkout -b <branch>创建并切换分支快速开始新任务
git merge <branch>合并分支到当前分支合并功能分支到 main
git rebase <branch>变基当前分支保持提交历史线性(需谨慎)
git branch -d <branch>删除本地分支清理已合并的分支

4. 远程协作

命令解释场景
git fetch拉取远程更新(不自动合并)查看他人提交的变更
git pull拉取并合并远程分支同步最新代码(= fetch + merge
git push origin <branch>推送分支到远程仓库分享代码或发起 PR
git push -u origin <branch>推送并设置上游分支首次推送分支时使用
git push --force强制推送(覆盖远程)修正提交历史(慎用!)

5. 撤销与回退

命令解释场景
git restore <file>撤销工作区修改放弃未暂存的文件修改
git reset <file>从暂存区移除文件取消 git add 操作
git reset --soft HEAD~1撤销提交但保留修改重新提交最后一次提交
git reset --hard HEAD~1彻底回退到上一个提交丢弃最近的所有修改
git revert <commit>创建反向提交撤销变更安全撤销已推送的提交

6. 查看历史与差异

命令解释场景
git log查看提交历史追溯代码变更记录
git log --oneline --graph紧凑可视化历史查看分支合并情况
git diff查看工作区与暂存区差异确认未暂存的修改
git diff --cached查看暂存区与仓库差异确认即将提交的内容
git show <commit>查看某次提交的详情分析特定变更

7. 高级协作场景

命令解释场景
git stash暂存当前修改临时切换分支处理紧急任务
git stash pop恢复暂存的修改回到之前的工作上下文
git cherry-pick <commit>复制特定提交到当前分支移植某个 Bug 修复
git rebase -i HEAD~3交互式变基合并/修改提交历史

8. 典型工作流示例
场景1:修复 Bug 并提交 PR

# 1. 同步主分支
git checkout main
git pull origin main

# 2. 创建修复分支
git checkout -b fix-bug

# 3. 修改代码后提交
git add .
git commit -m "修复XX问题"

# 4. 推送到远程并发起 PR
git push -u origin fix-bug

场景2:撤销错误的提交

# 1. 查看提交历史找到错误提交的哈希值
git log --oneline

# 2. 回退到错误提交之前(保留修改)
git reset --soft abc1234

# 3. 重新提交
git commit -m "新的正确提交"

9. 注意事项

  1. 慎用 --force:强制推送可能覆盖他人代码。
  2. 分支命名规范:如 feature/xxxfix/yyy 提高可读性。
  3. 提交原子性:一个提交只做一件事(便于回退和审查)。
  4. 频繁同步:开发前先 git pull 避免冲突。
动物装饰