Git常用命令

列举了开发中一些常用的git命令……

一、版本控制基础

1.1 提交与暂存

  • git add .​ – 添加所有修改到暂存区
  • git commit -m "提交信息"​ – 提交暂存区内容到本地仓库
  • git status​ – 查看工作区和暂存区状态

1.2 撤销与回退

  • git restore .​ – 丢弃工作区的所有修改
  • git restore <file>​ – 丢弃指定文件的修改
  • git reset --hard HEAD~1​ – 回退到上一次提交(危险操作)
  • git reset --hard <commit-hash>​ – 回退到指定提交
  • git reset --soft HEAD~1​ – 撤销上次提交但保留更改

二、历史查看

2.1 提交记录

  • git log --oneline​ – 简洁形式查看提交历史
  • git log dev​ – 查看dev分支的提交历史
  • git log --oneline --graph --all​ – 图形化查看所有分支历史

2.2 操作记录

  • git reflog​ – 查看所有操作历史(可恢复误删提交)

三、分支管理

3.1 分支操作

  • git branch​ – 查看所有分支
  • git switch develop​ – 切换到develop分支
  • git switch -c new-branch​ – 创建并切换到新分支
  • git branch -d <branch>​ – 删除指定分支

3.2 分支合并

  • git merge develop​ – 将develop分支合并到当前分支
  • git merge --no-ff develop​ – 非快进式合并(保留分支历史)

四、代码整合

4.1 变基

  • git rebase master​ – 将当前分支变基到master分支
  • git rebase -i HEAD~3​ – 交互式变基(合并/修改最近3次提交)

4.2 储藏

  • git stash​ – 储藏当前工作区的修改
  • git stash list​ – 查看储藏列表
  • git stash pop​ – 恢复最新储藏并删除记录
  • git stash apply​ – 恢复储藏但不删除记录
  • git stash drop​ – 删除指定的储藏

五、清理操作

5.1 清理未跟踪文件

  • git clean -f​ – 删除未跟踪的文件
  • git clean -fd​ – 删除未跟踪的文件和目录
  • git clean -n​ – 预览将被删除的文件
  • git clean -nd​ – 预览将被删除的文件和目录

六、标签管理

  • git tag v1.0​ – 创建轻量标签v1.0
  • git tag -a v1.0 -m "版本说明"​ – 创建带注释的标签
  • git tag​ – 查看所有标签
  • git tag -d v1.0​ – 删除标签v1.0

🔧 实用技巧

  1. 提交规范:尽量使用有意义的提交信息,遵循约定式提交
  2. 安全操作
    • 执行reset --hard前确保工作区已保存
    • 推送前先拉取远程更新避免冲突
    • 重要分支(如master/main)设置保护规则
  3. 推荐工作流
# 日常开发流程
git switch -c feature/xxx    # 创建功能分支
git add .                    # 添加修改
git commit -m "feat: 添加xx功能"
git switch main              # 切回主分支
git pull origin main         # 拉取最新代码
git switch feature/xxx       # 切回功能分支
git rebase main              # 变基到最新主分支
git switch main
git merge feature/xxx        # 合并到主分支

4. 常见问题解决

  • 提交了错误文件:使用git reset --soft撤销
  • 提交信息写错:git commit --amend
  • 分支合并混乱:git rebase整理历史

💡 温馨提示

  • 定期使用git status查看状态
  • 重要操作前做好备份
  • 团队协作时及时拉取远程更新
  • 合理使用.gitignore文件排除不需要版本控制的文件

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注