GIT命令常用方法
- Fang XS.
 - 1452512966@qq.com
 - 如果有错误,希望被指出,学习技术的路难免会磕磕绊绊
 - 量的积累引起质的变化
 
Git 常用操作速查表
分支管理
| 命令 | 说明 | 常用场景 | 
|---|
git branch | 查看本地分支列表 | 查看当前有哪些分支 | 
git branch -a | 查看所有分支(包括远程) | 查看全部分支情况 | 
git branch <分支名> | 创建新分支 | 基于当前分支创建新分支 | 
git checkout <分支名> | 切换到指定分支 | 切换工作分支 | 
git checkout -b <分支名> | 创建并切换到新分支 | 最常用的新建分支方式 | 
git switch <分支名> | 切换到指定分支(新方式) | 替代 git checkout | 
git switch -c <分支名> | 创建并切换分支(新方式) | 替代 git checkout -b | 
git branch -d <分支名> | 删除本地分支 | 清理已合并的分支 | 
git branch -D <分支名> | 强制删除本地分支 | 删除未合并的分支 | 
提交操作
| 命令 | 说明 | 常用场景 | 
|---|
git status | 查看工作区状态 | 随时查看当前修改状态 | 
git add <文件名> | 将特定文件添加到暂存区 | 准备提交特定文件 | 
git add . | 添加所有修改到暂存区 | 准备提交所有修改 | 
git commit -m "描述" | 提交暂存区的更改 | 提交代码到本地仓库 | 
git commit -am "描述" | 添加并提交所有已跟踪文件的修改 | 快捷提交(不包含新文件) | 
git restore <文件名> | 撤销工作区的修改 | 丢弃未暂存的修改 | 
git restore --staged <文件名> | 将文件从暂存区移出 | 取消已 git add 的文件 | 
远程操作
| 命令 | 说明 | 常用场景 | 
|---|
git push -u origin <分支名> | 首次推送新分支 | 将本地新分支推送到远程 | 
git push | 推送当前分支到远程 | 后续推送更新 | 
git pull | 拉取远程更新并合并 | 获取远程最新代码 | 
git fetch | 获取远程更新但不合并 | 查看远程有什么更新 | 
git clone <仓库地址> | 克隆远程仓库到本地 | 第一次下载项目 | 
查看与比较
| 命令 | 说明 | 常用场景 | 
|---|
git log | 查看提交历史 | 查看项目历史记录 | 
git log --oneline | 查看简洁的提交历史 | 快速浏览提交记录 | 
git diff | 查看未暂存的修改 | 比较工作区与暂存区的差异 | 
git diff --staged | 查看已暂存的修改 | 比较暂存区与最新提交的差异 | 
git show <commit-id> | 查看某次提交的详细内容 | 审查具体提交的改动 | 
合并与重置
| 命令 | 说明 | 常用场景 | 
|---|
git merge <分支名> | 合并指定分支到当前分支 | 将特性分支合并到主分支 | 
git rebase <分支名> | 变基当前分支到指定分支 | 整理提交历史(谨慎使用) | 
git reset --hard <commit-id> | 重置到指定提交(丢失修改) | 危险操作,回滚到历史版本 | 
git reset --soft <commit-id> | 重置到指定提交(保留修改) | 撤销提交但保留修改在暂存区 | 
标签管理
| 命令 | 说明 | 常用场景 | 
|---|
git tag | 查看所有标签 | 查看版本标签 | 
git tag v1.0.0 | 创建轻量标签 | 打版本号 | 
git tag -a v1.0.0 -m "版本说明" | 创建附注标签 | 创建带说明的版本标签 | 
git push origin --tags | 推送所有标签到远程 | 分享标签到远程仓库 | 
最常用工作流程示例
git checkout -b feature-user-login
git add .
git commit -m "实现用户登录功能"
git push -u origin feature-user-login
git add .
git commit -m "修复登录验证问题"
git push