Git常用命令完全指南:从入门到精通

Git常用命令完全指南:从入门到精通

一、基础配置命令

1. 用户信息配置

bash 复制代码
# 设置全局用户名
git config --global user.name "你的名字"

# 设置全局邮箱
git config --global user.email "你的邮箱@example.com"

# 查看所有配置
git config --list

2. 仓库初始化

bash 复制代码
# 初始化当前目录为Git仓库
git init

# 克隆远程仓库到本地
git clone https://github.com/username/repo.git

# 克隆指定分支
git clone -b branch_name https://github.com/username/repo.git

二、基础工作流命令

1. 状态查看

bash 复制代码
# 查看当前状态(最常用)
git status

# 简短状态显示
git status -s
# 输出示例:
# M  README.md    (已修改)
# A  newfile.txt  (已添加)
# ?? untracked.js (未跟踪)

2. 添加与提交

bash 复制代码
# 添加单个文件
git add filename

# 添加所有变更(包括新文件和修改)
git add .

# 添加所有修改(不包括新文件)
git add -u

# 提交变更
git commit -m "提交描述信息"

# 添加并提交(适合小改动)
git commit -am "添加并提交"

3. 查看历史

bash 复制代码
# 查看完整提交历史
git log

# 单行显示提交历史
git log --oneline

# 带分支图的提交历史
git log --graph --all --oneline

# 查看某文件的修改历史
git log -p filename

三、分支管理命令

1. 基础分支操作

bash 复制代码
# 查看所有分支
git branch -a

# 创建新分支
git branch new-feature

# 切换分支
git checkout develop

# 创建并切换分支(常用)
git checkout -b hotfix

# 删除分支
git branch -d old-feature

2. 分支合并与变基

bash 复制代码
# 合并分支到当前分支
git merge feature-branch

# 变基(重写提交历史)
git rebase main

# 交互式变基(修改最近3次提交)
git rebase -i HEAD~3

3. 远程分支操作

bash 复制代码
# 获取远程分支
git fetch origin

# 跟踪远程分支
git checkout --track origin/remote-branch

# 推送本地分支到远程
git push -u origin local-branch

# 删除远程分支
git push origin --delete old-branch

四、撤销与回退命令

1. 工作区撤销

bash 复制代码
# 撤销工作区单个文件的修改
git restore filename

# 撤销工作区所有修改
git restore .

# 撤销所有未跟踪文件
git clean -fd

2. 暂存区撤销

bash 复制代码
# 将文件移出暂存区(保留修改)
git restore --staged filename

# 清空暂存区(保留工作区修改)
git reset

3. 提交回退

bash 复制代码
# 撤销上一次提交(创建新提交)
git revert HEAD

# 回退到指定提交(保留修改)
git reset commit_id

# 硬回退(丢弃所有修改)
git reset --hard commit_id

五、远程仓库操作

1. 远程连接管理

bash 复制代码
# 查看远程仓库
git remote -v

# 添加远程仓库
git remote add upstream https://github.com/original/repo.git

# 修改远程仓库URL
git remote set-url origin https://new.url/repo.git

2. 推送与拉取

bash 复制代码
# 推送当前分支到默认远程仓库
git push

# 强制推送(谨慎使用)
git push -f

# 拉取远程更新(fetch + merge)
git pull

# 拉取远程更新(fetch + rebase)
git pull --rebase

六、高级实用命令

1. 储藏更改

bash 复制代码
# 储藏当前工作区修改
git stash

# 查看储藏列表
git stash list

# 恢复最近储藏
git stash pop

# 恢复指定储藏
git stash apply stash@{1}

2. 标签管理

bash 复制代码
# 创建标签
git tag v1.0.0

# 创建带注释的标签
git tag -a v1.1.0 -m "Release version 1.1.0"

# 推送标签到远程
git push origin --tags

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

3. 文件忽略

创建.gitignore文件:

复制代码
# 忽略所有.class文件
*.class

# 忽略node_modules目录
node_modules/

# 忽略.env环境文件
.env

# 不忽略特定文件
!important.class

4. 差异比较

bash 复制代码
# 比较工作区和暂存区
git diff

# 比较暂存区和最新提交
git diff --staged

# 比较两个分支
git diff branch1..branch2

# 比较指定文件在不同分支的差异
git diff branch1 branch2 -- filename

七、Git命令速查表

分类 命令 功能描述
基础操作 git init 初始化仓库
git clone [url] 克隆远程仓库
git status 查看状态
提交相关 git add [file] 添加到暂存区
git commit -m "msg" 提交变更
git commit --amend 修改上次提交
分支管理 git branch 查看分支
git checkout -b [branch] 创建并切换分支
git merge [branch] 合并分支
远程操作 git remote -v 查看远程仓库
git push 推送到远程
git pull 从远程拉取
撤销操作 git restore [file] 撤销工作区修改
git restore --staged [file] 撤销暂存区添加
git reset [commit] 回退到指定提交
历史查看 git log 查看提交历史
git log --oneline --graph 图形化历史
git diff 比较差异

八、最佳实践小贴士

  1. 提交规范:使用清晰、一致的提交信息格式

    复制代码
    feat: 添加用户登录功能
    fix: 解决首页加载问题
    docs: 更新API文档
  2. 分支策略

    • main/master:稳定生产分支
    • develop:开发主分支
    • feature/*:功能开发分支
    • hotfix/*:紧急修复分支
  3. 黄金法则

    • 频繁提交小改动
    • 提交前使用git diff检查变更
    • 推送前拉取最新代码
    • 慎用git push -f强制推送
  4. 救命命令

    bash 复制代码
    # 查看命令帮助
    git help [command]
    
    # 查看命令简写手册
    git [command] -h

总结

Git的强大功能源于其丰富的命令集,掌握这些常用命令将极大提升你的开发效率。记住:

  • 工作区 → 暂存区 → 仓库 是Git的核心工作流
  • addcommitpushpull 是最常用命令
  • 理解resetrevertstash等撤销操作能救你于危难
  • 良好的分支管理策略是团队协作的基础

实践是最好的学习方式,建议在日常开发中多使用这些命令,逐步形成自己的Git工作流。遇到问题时,别忘了Git内置的帮助系统(git help [command])是你最好的朋友!

掌握Git是每个开发者的必备技能,本文整理了最常用、最实用的Git命令,助你高效管理代码版本。


「小贴士」 :点击头像→【关注】按钮,获取更多软件测试的晋升认知不迷路! 🚀

相关推荐
龙之叶17 分钟前
Git Commit 生成与合入 Patch 指南
git
Davie_Liu21 分钟前
【Docker Buildx】docker buildx本地构建多架构镜像,拉取镜像时的网络延迟问题(已解决)
网络·docker·buildx
张驰课堂21 分钟前
老树发新芽:六西格玛培训为石油机械制造注入持久活力
大数据·人工智能·制造
卡卡_R-Python28 分钟前
大数据探索性分析——抽样技术应用
大数据·r
伍哥的传说1 小时前
Lodash-es 完整开发指南:ES模块化JavaScript工具库实战教程
大数据·javascript·elasticsearch·lodash-es·javascript工具库·es模块·按需导入
请提交用户昵称1 小时前
大数据各组件flume,datax,presto,DolphinScheduler,findBI在大数据数仓架构中的作用和功能。
大数据·flume·datax·dolphin·presto·findbi·大数据组件
IT果果日记2 小时前
详解DataX开发达梦数据库插件
大数据·数据库·后端
用户Taobaoapi20142 小时前
微店API秘籍!轻松获取商品详情数据
大数据·数据挖掘·数据分析
chimchim663 小时前
StarRocks导入数据-使用 Broker Load 进行异步导入
大数据·sql
iGarment4 小时前
服装采购跟单系统的高效管理实践
大数据·经验分享·云计算