git常见命令

1. 基本操作

查看状态

git status

添加文件到暂存区

git add <filename>  # 添加单个文件
git add <path/>     # 添加整个目录
git add .           # 添加当前目录所有文件
git add --all       # 添加所有变更(包括删除的文件)

提交更改

git commit -m "commit message"

常用 commit 类型前缀

  • build: 构建系统修改(如依赖升级)
  • chore: 非业务代码修改(如工具配置)
  • ci: CI/CD 流程修改
  • docs: 文档更新
  • feat: 新功能
  • fix: Bug 修复
  • perf: 性能优化
  • refactor: 重构(不改变功能)
  • style: 代码格式化(空格、缩进等)
  • test: 测试相关

查看提交历史

git log
git log --oneline  # 简洁模式
git log --graph    # 图形化分支历史

撤销操作

git reset --hard <commit-hash>  # 回退到指定版本(慎用!)
git checkout -- <filename>      # 丢弃文件修改
git restore <filename>         # 恢复文件(Git 2.23+)

2. 分支管理

查看/创建/删除分支

git branch          # 查看本地分支
git branch -a       # 查看所有分支(包括远程)
git branch <name>   # 创建分支
git branch -d <name> # 删除本地分支(已合并)
git branch -D <name> # 强制删除本地分支(未合并)

切换分支

git checkout <branch>  # 切换到分支
git checkout -b <new-branch>  # 创建并切换
git switch <branch>    # Git 2.23+ 推荐方式

合并分支

git merge <branch>     # 合并分支(保留完整历史)
git merge --abort      # 取消合并(冲突时)

Rebase(变基)

git rebase <target-branch>  # 变基到目标分支
git rebase --continue       # 解决冲突后继续
git rebase --abort          # 取消 rebase
git pull --rebase origin main  # 拉取最新代码并 rebase

交互式 rebase(修改历史)

git rebase -i HEAD~3  # 修改最近 3 个提交
  • pick:保留提交
  • reword:修改提交信息
  • edit:修改提交内容
  • squash:合并到前一个提交
  • drop:删除提交

3. 远程仓库

克隆仓库

git clone <repo-url>

关联远程仓库

git remote add origin <repo-url>
git remote -v        # 查看远程仓库
git remote rm origin # 删除远程关联

推送/拉取

git push origin <branch>   # 推送到远程
git push -u origin main    # 首次推送(设置 upstream)
git push --force           # 强制推送(慎用!)
git pull origin <branch>   # 拉取最新代码(自动 merge)
git fetch origin           # 仅获取远程更新(不自动合并)

删除远程分支

git push origin --delete <branch>

4. 暂存与恢复(Stash)

git stash                  # 暂存当前修改
git stash save "message"   # 暂存并添加备注
git stash list             # 查看暂存列表
git stash apply            # 恢复最近一次暂存
git stash pop              # 恢复并删除暂存
git stash drop             # 删除最近一次暂存
git stash clear            # 清空所有暂存

5. 标签管理(Tag)

git tag -l                 # 查看所有标签
git tag v1.0.0             # 创建标签
git push origin v1.0.0     # 推送标签
git tag -d v1.0.0          # 删除本地标签
git push origin --delete tag v1.0.0  # 删除远程标签

6. 冲突处理

合并冲突

  1. 手动解决冲突文件
  2. 标记为已解决:
    git add <file>
    git commit
    
  3. 取消合并:
    git merge --abort
    

Rebase 冲突

  1. 解决冲突后:
    git add <file>
    git rebase --continue
    
  2. 取消 rebase:
    git rebase --abort
    

7. 最佳实践

  • 个人分支rebase(保持线性历史)
  • 公共分支(main/dev)merge(避免破坏协作)
  • 提交信息 → 遵循规范(如 feat:, fix:
  • 强制推送 → 仅用于个人分支,避免影响团队

推荐工作流

git checkout -b feature/xxx   # 创建新分支
git add . && git commit -m "feat: xxx"  # 提交更改
git pull --rebase origin main # 更新最新代码
git push origin feature/xxx   # 推送分支
# 提交 PR/MR 并合并到 main

你可能感兴趣的:(git常见命令)