【实战】git 实用命令

5 阅读3分钟

Git 常用命令速查表

写在前面,现在处于AI快速发展时代,前端已经被波及了;

相信大家多多少少都能感受到,但是为什么我还要写这篇看起来没什么太大作用的文章呢?

个人的想法是,即使是AI时代,用好AI的前提,你得是一个合格的产品经理,还得是一个合格的开发。

所以基础的东西,还是不能放弃。

此篇适用于,快速查阅上手git。

基础配置

# 查看配置
git config --list

# 设置用户名和邮箱
git config --global user.name "your-name"
git config --global user.email "your-email@example.com"

# 保存凭证(避免每次输入密码)
git config --global credential.helper store

分支操作

# 查看本地分支
git branch

# 查看所有分支(含远程)
git branch -a

# 创建分支
git branch <branch-name>

# 切换分支
git checkout <branch-name>

# 创建并切换分支
git checkout -b <branch-name>

# 删除本地分支
git branch -d <branch-name>

# 删除远程分支
git push origin --delete <branch-name>

# 重命名分支
git branch -m <old-name> <new-name>

日常开发流程

# 拉取最新代码
git pull origin <branch-name>

# 查看状态
git status

# 添加文件到暂存区
git add <file>           # 添加指定文件
git add .                # 添加所有文件

# 提交
git commit -m "feat: 功能描述"

# 推送到远程
git push origin <branch-name>

# 首次推送并建立追踪
git push -u origin <branch-name>

查看信息

# 查看提交历史
git log --oneline -10

# 查看某次提交详情
git show <commit-hash>

# 查看文件修改内容
git diff

# 查看暂存区修改
git diff --cached

# 查看远程仓库地址
git remote -v

撤销与回滚

# 撤销工作区修改(未 add)
git checkout -- <file>

# 撤销暂存区(已 add,未 commit)
git reset HEAD <file>

# 撤销最近一次 commit,保留修改
git reset --soft HEAD~1

# 撤销最近一次 commit,保留修改在工作区
git reset --mixed HEAD~1

# 撤销最近一次 commit,丢弃修改
git reset --hard HEAD~1

# 回滚到指定 commit(保留修改)
git reset --soft <commit-hash>

# 回滚到指定 commit(丢弃修改)
git reset --hard <commit-hash>

# 创建反向 commit(已推送的公共分支)
git revert <commit-hash>

合并与变基

# 合并分支到当前分支
git merge <branch-name>

# 变基(保持线性历史)
git rebase <branch-name>

# 解决冲突后继续变基
git add .
git rebase --continue

# 放弃变基
git rebase --abort

# 合并最近 N 个 commit
git rebase -i HEAD~N

暂存工作区

# 暂存当前修改
git stash

# 查看暂存列表
git stash list

# 恢复最近暂存
git stash pop

# 恢复指定暂存
git stash apply stash@{0}

# 删除暂存
git stash drop stash@{0}

# 清空所有暂存
git stash clear

远程操作

# 查看远程仓库
git remote -v

# 添加远程仓库
git remote add origin <url>

# 修改远程仓库地址
git remote set-url origin <new-url>

# 拉取远程信息(不合并)
git fetch origin

# 强制推送(慎用)
git push --force origin <branch-name>

# 安全强制推送(推荐)
git push --force-with-lease origin <branch-name>

标签管理

# 创建标签
git tag v1.0.0

# 创建带注释标签
git tag -a v1.0.0 -m "版本 1.0.0"

# 查看标签
git tag

# 推送标签到远程
git push origin v1.0.0

# 推送所有标签
git push origin --tags

# 删除本地标签
git tag -d v1.0.0

# 删除远程标签
git push origin --delete tag v1.0.0

清理操作

# 删除未追踪的文件
git clean -f

# 删除未追踪的文件和目录
git clean -fd

# 删除忽略的文件
git clean -fX

# 查看将被删除的文件(不实际删除)
git clean -n

提交规范

feat:     新功能
fix:      修复 bug
docs:     文档更新
style:    代码格式(不影响逻辑)
refactor: 重构
perf:     性能优化
test:     测试相关
chore:    构建/工具相关

示例

git commit -m "feat: 添加用户登录功能"
git commit -m "fix: 修复登录验证失败问题"
git commit -m "refactor: 重构认证模块"