Git 命令分类

Git 命令分类

以下是整理的 Git 命令分类及中文说明,按功能分组展示:


一、仓库操作

命令说明
git init初始化当前目录为 Git 仓库
git clone <url>克隆远程仓库到本地
git remote add <name> <url>添加远程仓库地址并命名
git remote -v查看所有远程仓库地址
git remote rm <name>删除指定的远程仓库

二、提交与修改

命令说明
git add <file>将文件添加到暂存区
git add .将所有修改的文件添加到暂存区
git commit -m "msg"提交暂存区内容并添加描述信息
git commit --amend修改最后一次提交(可修正描述或文件)
git reset <file>将文件从暂存区移出(保留工作区修改)
git reset --hard <commit>重置工作区和暂存区到指定提交(危险操作)

三、分支管理

命令说明
git branch查看本地所有分支(当前分支前加 *
git branch <name>创建新分支
git checkout <branch>切换到指定分支
git checkout -b <branch>创建并切换到新分支
git merge <branch>将指定分支合并到当前分支
git branch -d <branch>删除本地分支(需已合并)
git branch -D <branch>强制删除本地分支(未合并也会删除)

四、查看状态与历史

命令说明
git status查看工作区和暂存区状态
git log查看提交历史(按时间倒序)
git log --oneline简洁模式查看提交历史
git log -p查看提交历史的详细修改内容
git diff查看工作区与暂存区的差异
git diff --cached查看暂存区与最新提交的差异

五、远程协作

命令说明
git pull拉取远程分支并合并到当前分支(fetch + merge
git fetch仅拉取远程分支更新(不自动合并)
git push推送本地提交到远程仓库
git push -u origin <branch>推送分支并设置远程跟踪
git push --force强制推送(覆盖远程提交,慎用)

六、撤销与恢复

命令说明
git restore <file>恢复工作区文件到最近提交状态
git restore --staged <file>将文件从暂存区移出(不恢复工作区)
git revert <commit>创建一个新提交来撤销指定提交的修改
git stash临时保存工作区未提交的修改
git stash pop恢复最近一次暂存的修改

七、标签管理

命令说明
git tag查看所有标签
git tag <name>在当前提交创建轻量标签
git tag -a <name> -m "msg"创建带注释的标签
git push origin <tag>推送标签到远程仓库
git tag -d <name>删除本地标签

八、高级操作

命令说明
git rebase <branch>将当前分支变基到目标分支(重写提交历史)
git cherry-pick <commit>将指定提交应用到当前分支
git bisect使用二分查找定位引入问题的提交
git submodule管理子模块(嵌套的 Git 仓库)

九、配置相关

命令说明
git config --global user.name "name"设置全局用户名
git config --global user.email "email"设置全局邮箱
git config --list查看所有配置项

以上为 Git 常用命令分类整理,可根据实际需求选择使用。建议结合 --help 参数查看详细用法(如 git commit --help)。

Git 操作案例

​ 以下是一个完整的 Git 操作案例,覆盖所有分类中的命令,模拟从零开始参与一个团队项目的全流程:


1. 初始化与克隆仓库

# 1.1 初始化本地仓库(如果是新项目)
mkdir my-project && cd my-project
git init  # 初始化空仓库

# 1.2 克隆远程仓库(如果是已有项目)
git clone https://github.com/team/project.git
cd project

2. 配置用户信息

git config --global user.name "YourName"
git config --global user.email "your@email.com"
git config --list  # 验证配置

3. 基础开发流程

# 3.1 创建并切换分支
git checkout -b feature/login  # 创建功能分支

# 3.2 修改文件并提交
echo "console.log('Login page')" > login.js
git add .  # 添加到暂存区
git commit -m "Add login page skeleton"

# 3.3 查看状态和历史
git status  # 查看当前状态
git log --oneline  # 查看简洁提交历史

4. 远程协作

# 4.1 添加远程仓库(如果未克隆)
git remote add origin https://github.com/team/project.git
git remote -v  # 查看远程仓库

# 4.2 推送分支到远程
git push -u origin feature/login

# 4.3 模拟队友提交后拉取更新
git fetch  # 先获取远程更新
git merge origin/main  # 合并主分支更新
# 或使用快捷方式:
git pull origin main

5. 撤销与恢复

# 5.1 误删文件恢复
rm login.js
git restore login.js  # 从最近提交恢复

# 5.2 撤销暂存
git add login.js
git restore --staged login.js  # 取消暂存

# 5.3 紧急切换任务(暂存当前修改)
git stash  # 临时保存工作区
git checkout main  # 切换到其他分支处理问题
git stash pop  # 恢复暂存修改

6. 分支合并

# 6.1 合并到主分支
git checkout main
git merge feature/login  # 合并功能分支

# 6.2 解决冲突后提交
git add conflicted-file.js
git commit -m "Resolve merge conflict"

# 6.3 删除已合并分支
git branch -d feature/login

7. 版本回退

# 7.1 查看提交历史找到目标commit hash
git log -p

# 7.2 回退到指定提交(危险操作)
git reset --hard a1b2c3d  # 彻底回退

# 7.3 安全撤销(推荐)
git revert e4f5g6h  # 创建新提交来撤销指定提交

8. 标签管理

# 8.1 创建发布标签
git tag v1.0.0 -m "Release version 1.0.0"
git push origin v1.0.0  # 推送标签

# 8.2 删除标签
git tag -d v0.9.0

9. 高级操作

# 9.1 变基(整理提交历史)
git rebase main  # 将当前分支变基到main

# 9.2 选择性应用提交
git cherry-pick 32a45bc  # 只应用特定提交

# 9.3 二分法查BUG
git bisect start
git bisect bad  # 标记当前版本有BUG
git bisect good v1.0.0  # 标记过去正常版本
# Git会自动帮你二分测试...

10. 子模块管理

# 10.1 添加子模块
git submodule add https://github.com/lib/awesome.git

# 10.2 更新子模块
git submodule update --init --recursive

最终清理

# 删除远程分支(已合并)
git push origin --delete feature/login

# 强制推送(特殊情况下使用)
git push --force origin main

案例总结

  1. 初始化 → 开发新功能 → 处理团队协作 → 发布版本
  2. 覆盖了日常开发中的核心场景:
    • 分支管理(创建/合并/删除)
    • 代码撤销(文件/提交/分支)
    • 远程协作(pull/push/fetch)
    • 紧急情况处理(stash/rebase)
  3. 危险操作(如 reset --hardforce push)已标注,需谨慎使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值